微机原理程序题
微机原理练习题

1、计算机中( )不能直接表示有符号数。
A.原码B.补码C.反码D.BCD码2、当使用BP寄存器作基址寻址时,若无指定段替换,则内定在( )段内寻址。
A.程序B.堆栈C.数据D.附加3、8086系统存储器与IO端口独立编址,I/O端口( )A.可与存储器分时使用同一地址B.与存储器使用两个独立的地址空间C.与存储器共用统一的地址空间。
4、8086可屏蔽中断的屏蔽由CPU内部标志寄存器的( )位来控制。
A.IFB.TFC.OFD.DF5、串行传送的波特率是指单元时间内传送( )数据的位数。
A.二进制B.八进制C.十进制D.十六进制6、若采用8位A/D转换器转换0~5V的电压信号,则分辨率约为( )A.5mvB.10mvC.20mvD.40mv7、8086CPU芯片的时序中,不加等待的一个总线周期需时钟周期数为()。
A、1B、2C、3D、48、8086CPU中的SP寄存器是一个多少位的寄存器?()A、8位B、16位C、24位D、32位9、假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是()。
A、20102HB、20101HC、200FEHD、200FFH10、主存和CPU之间增加高速缓存的目的是()。
A、解决CPU和主存之间的速度匹配问题B、扩大存容量C、既扩大内存容量,又提高存取速度D、解决CPU与外存之间速度匹问题11、下列寄存器为16位的寄存器有( )A.IPB.AHC.ALD.BH12、交换寄存器SI、DI的内容,正确的程序段是()。
A、MOV AX,SIB、MOV AX,SIMOV SI,AX MOV BX,DIMOV DI,AX XCHG BX,AXC、PUSH SID、PUSH SIPUSH DI PUSH DIPOP SI POP DIPOP DI POP SI13、指令MOV DX, [BX]的寻址方式是()。
微机原理试题及答案

微机原理试题及答案一、选择题(每题2分,共20分)1. 微处理器中的寄存器主要用于存储()。
A. 指令B. 操作数C. 地址D. 程序2. 在微机系统中,总线是用于()。
A. 存储数据B. 传输数据C. 执行指令D. 控制设备3. 微机系统中,内存的主要作用是()。
A. 存储操作系统B. 存储程序和数据C. 执行程序D. 控制程序运行4. 在微机系统中,中断的作用是()。
A. 暂停程序运行B. 启动程序运行C. 响应外部事件D. 执行数据传输5. 微机系统中的I/O设备指的是()。
A. 输入设备B. 输出设备C. 输入输出设备D. 存储设备6. 微机系统中,CPU的主要功能是()。
A. 存储数据B. 执行程序C. 传输数据D. 控制设备7. 在微机系统中,外设是指()。
A. 内存B. 硬盘C. 打印机D. 显示器8. 微机系统中的DMA是指()。
A. 数据传输方式B. 直接存储器访问C. 动态内存访问D. 数字多媒体应用9. 微机系统中,指令周期包括()。
A. 取指令B. 执行指令C. 取指令和执行指令D. 存储指令10. 微机系统中,字长是指()。
A. 存储容量B. 指令长度C. 数据宽度D. 地址范围二、填空题(每空1分,共10分)11. 微处理器的时钟频率通常用____表示,单位是赫兹(Hz)。
12. 微机系统中的总线可以分为数据总线、地址总线和____。
13. 微机系统中,一个存储单元可以存储一个____。
14. 微机系统中,中断向量表存储了中断服务程序的____。
15. 微机系统中,I/O端口地址通常由____总线提供。
16. 微处理器的指令集是一组预定义的____。
17. 微机系统中,堆栈操作遵循____原则。
18. 微机系统中,DMA可以减少CPU的____。
19. 微机系统中,指令的执行通常分为取指、____、执行和结果写回四个阶段。
20. 微机系统中,字长为32位的CPU一次可以处理____位的数据。
微机原理实验编程题(完整)

1)(正确)比较两个无符号数的大小(量个数放在内存S3的连续两个单元中),将大数存入MAX单元中。
DATAS SEGMENTBUF DB 1,2CNT EQU $-BUFDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXMOV CX,CNT-1LEA BX,BUFMOV AL,[BX]L2: INC BXCMP AL,[BX]JAE L1MOV AL,[BX]L1:LOOP L2ADD AL,30H- 1 - / 16MOV DL,ALMOV AH,2INT 21HMOV AH,4CHINT 21HCODES ENDSEND STAR2)(正确)试编一程序,求三个带符号数据中的最大值,并将最大值存入MAX单元中,设三个带符号数分别在三个变量X,Y,Z中存储。
DATAS SEGMENTX DB 5Y DB-2Z DB 0MAX DB?DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXMOV AL,XMOV BL,YCMP AL,BLJG L1MOV AL,BLL1:MOV BL,ZCMP AL,BLL2: MOV MAX,ALMOV AH,4CHINT 21HCODES ENDSEND START3)(正确)根据MODE单元中编号0-7分别转向L0-L7标号处,执行L0-L7处分别完成显示‘0-7’字符,即当MODE=0时,转向L0标号,完成显示‘0’,当MODE=7时,转向L7标号,完成显示‘7’。
DATAS SEGMENTMODE DB 0DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:- 3 - / 16MOV AX,DATASMOV DS,AXMOV AL,MODECMP AL,0JZ L0CMP AL,1JZ L1CMP AL,2JZ L2CMP AL,3JZ L3CMP AL,4JZ L4CMP AL,5JZ L5CMP AL,6JZ L6MOV DL,'7'MOV AH,02HINT 21HJMP L8L0:MOV DL,'0'MOV AH,02HINT 21HJMP L8L1:MOV DL,'1'MOV AH,02HINT 21HJMP L8L2:MOV DL,'2'MOV AH,02HINT 21HJMP L8L3:MOV DL,'3'MOV AH,02HINT 21HJMP L8L4:MOV DL,'4'- 5 - / 16MOV AH,02HINT 21HJMP L8L5:MOV DL,'5'MOV AH,02HINT 21HJMP L8L6:MOV DL,'6'MOV AH,02HINT 21HJMP L8L8:MOV AH,4CHINT 21HCODES ENDSEND START4)(正确)根据输入值(0-4)的不同,执行不同的操作,用转移标法编写程序。
微机原理练习题(含答案)

1.已知下列数组语句:0RG 0100HARY DW 3, $+4, 5, 6CNT EQU $-ARYDB 7,8,CNT,9问执行语句MOV AX, ARY +2和MOV BX,ARY +10后,AX=? BX=?答: AX=(ARY +2) = (0102H) =0106H; BX=( ARY +10) = (010AH) =0908H。
2.某程序设置的数据区如下所示。
DATA SEGMENTDB1 DB 12H, 34H, 0, 56HDW1 DW 78H, 90H, 0AB46H, 1234HADR1 DW DB1ADR2 DW DW1AAA DW $-DB1BUF DB 5 DUP(0)DATA ENDS画出该数据段内容在内存中的存放形式(要求用十六进制补码表示,按字节组织)。
3.分析下列程序:A1 DB 10 DUP(7)A2 DB 0,1,2,3,4,5,6,7,8,9……MOV CX, LENGTH AlMOV SI, SIZE A1 - TYPE AlLP: MOV AL, A2[SI]MOV Al[SI],ALSUB SI,TYPE A1DEC CXJN2 LPHLT问:(1)该程序的功能是什么?(2)该程序执行后,A1单元开始的10个字节内容是什么?答:(1)该程序的功能是将从A2单元开始存放的10个字节数据传送到从Al单元开始的10个字节单元中。
(2)程序执行后,Al单元开始的10个字节内容是0,1,2,3,4,5,6,7,8,9。
4. 试分析下列程序:BUF DB 0BHMOV AL, BUFCALL FAR PTR HECAHECA PROC FARCMP AL, 10JC LPADD AL, 7LP: ADD AL, 30HMOV DL, ALMOV SH, 2INT 21HRETHECA ENDP问:(1)该程序是什么结构的程序?功能是什么?(2)程序执行后,DL=?(3)屏幕上显示输出的字符是什么?答:(1)该程序为主程序调用子程序的结构,且为远调用子程序;功能是将BUF单元中的0~F一位十六进制数转换成对应的ASCII码。
微机原理题集(附答案)

微机原理题集★8、一般一个总线周期可分为___T1____ 、___T2____ 、__T3_____和_____T4__状态。
★3、指令JO NEXT 表示OF=__1_____时转移。
★3、DEBUG命令中,反汇编命令的英文字母为___U___,显示内存命令的英文字母为_____D___,跟踪执行命令的英文字母为____T____,显示和修改寄存器的命令____R____,汇编命令是_____A___。
★7、CPU与IO设备之间数据传送控制方式常见的有__程序控制方式____、__中断控制方式____和_DMA_____三种。
★5.下列指令执行时出错的是(B)A.ADD BUF1,BUF2B.JMP DWORD PTR DAT [BX]C.MOV AX,[BX+DI] NUMD.TEST AL,08H★10.下列指令中,源操作数的寻址方式中,(C)属于立即寻址,(B)属于寄存器寻址,(E)属于寄存器间接寻址,(A)属于直接寻址,(D)属于寄存器相对寻址。
A)MOV AX,[4000H] B)MOV [BX],AXC)SUB AX,2000H D)MOV AX,[SI+12H]E)MOV CX,[BX] F)MOV AX,[SI+BX+10H]★13.指令LOOPNZ的循环结束条件是(D)。
A)CX=0且ZF=0 B)CX=0或ZF=0C)CX=0且ZF=1 D)CX=0或ZF=114、指令CALL DWORD PTR [BX]目标地址的寻址方式为DA)段内直接B)段内间接C)段间直接D)段间间接★1.语句DA1 DB 2 DUP(4,6),5汇编后,与该语句功能等同的语句是(C)。
A)DA1 DB 4,6,5B)DA1 DB 2,4,6,5C)DA1 DB 4,6,4,6,5D)DA1 DB 4,6,5,4,6,51、微机系统由(硬件系统)和(软件系统)两部分组成。
2、总线按传输的信息种类可分成(数据)、(地址)和(控制)三种。
微机原理及应用试卷编程题

一.编程题 (共43题,430分)1.1 [库中题号:060030] 10分编写完整的8086汇编程序:将字符缓冲区A的字符'1234567890'倒序存放到缓冲区B中。
1.2 [库中题号:060029] 10分编写一个程序,接收从键盘输入的10个十进制数字,输入回车符则停止输入,然后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER。
加密表为;输入数字: 0,1,2,3,4,5,6,7,8,9密码数字: 7,5,9,1,3,6,8,0,2,41.3 [库中题号:060028] 10分试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第3位为1,则整个输入过程结束。
两个状态寄存器的端口地址分别是0024和0036,与其相应的数据输入寄存器的端口则为0026和0038,输入字符分别存入首地址为BUFF1和BUFF2的存储区中。
1.4 [库中题号:060027] 10分把0~10010之间的30个数,存入首地址为GRAD的字数组中,GRAD+i表示学号为i+1的学生成绩。
另一个数组RANK是30个学生的名次表,其中RANK+I的内容是学号为i+1的学生的名次。
试编写程序,根据GRAD中的学生成绩,将排列的名次填入RANK数组中(提示:一个学生的名次等于成绩高于这个学生的人数加1)。
1.5 [库中题号:060026] 10分已知整数变量A和B,试编写完成下述操作的程序:(1)若两个数中有一个是奇数,则将该奇数存入A中,偶数存入B中;(2)若两个数均为奇数,则两数分别加1,并存回原变量;(3)若两个数均为偶数,则两变量不变。
1.6 [库中题号:060025] 10分试编写完整的程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息:(1)如果3个数都不相等则显示0;(2)如果3个数中有2个数相等则显示2;(3)如果3个数都相等则显示3。
微机原理习题集(4章)

一.单项选择题:1、在汇编语言程序设计中,变量定义时,以下为非法的类型属性是__C__;A 字节B 字C 字符D 双字2、以下哪个元素是汇编语言中语句的必要组成部分_B___;A 标号B 操作助记符C 操作数D 注释3、下列指令错误的是__B__;A INC WORD PTR [SI]B PUSH ALC POP CXD JMP BX4、下面说法正确的是_D___;A 低级语言更接近于自然语言。
B 机器语言编写的程序可以应用于不同微处理器的计算机系统。
C 高级语言编写的程序依赖于微处理器的型号。
D 程序在准备执行时,必须存储于存储器中。
5、以下指令错误的是_D___;A MOV AX,2000HB MOV [BP],DLC MOV DS,AXD MOV 20H,AL6、下面叙述错误的是_C___;A 宏指令是用户自己定义的B 注释是以分号开头的。
C 名称在语句中是必须的D 每条语句都必须有操作助记符。
7、条件转移指令“JS”的转移条件是_B___;A SF=0B SF=1C CF=0D CF=18、在微计算机中用来存放源字符串地址的偏移量的寄存器是_C___;A SPB BPC SID DI9、汇编程序是一个__B__;A 源程序B 语言加工程序C 连接程序D 目标程序10、下列字符串能用于标识符的是_B___;A LENGTHB MOVEC 13AD SEGMENT11、若要对操作数清0,一般对操作数进行__C__运算。
A 相与B 相或C 异或D 移位12、汇编语言编辑程序输出的文件类型是_A___;A .asmB .obj C.exe D .c13、堆栈的存取规则正确的是_D___;14、 A FIFO B FILO CLILO D以上都不对14、以下指令不是逻辑运算指令的是__D__;A XOR AL,3B NOT ALC OR AL,3D CWD15、在指令“MOV AX,INBUFF”中,变量INBUFF 的段是_B___ ;A CSB DSC SSD ES16、若READY为低电平,此时CPU执行___B_周期;A T3 B TWC T4D T117、连接程序输出的文件类型是_C___;A .asmB .obj C.exe D .c18、已知程序段:_A_MOV AX,0FF60HSTCMOV DX,96XOR DX,0FF00HSBB AX,DX程序执行后AX=____,CF=____。
微机原理及应用试卷程序分析题【精选】

重 庆 科 技 学 院200 /200 学年第 学期考试试卷课程名称:微机原理及应用课程代码:教学班级:抽(命)题人:本卷为 卷,共 11 页,考试方式: 闭卷,考试时间: 120 分钟题 号一二三四五六七八九十总 分得 分抽查核人阅卷人一.程序分析题 (共39题,195分)1.1 [库中题号:050039] 5分分析对于下面两个数据段,偏移地址为10H 和11H 的两个字节中的数据是一样的吗?为什么?专业班级: 姓 名: 学 号: 密 封 线 装 订 线 4DTSEG SEGMENT ORG10HDATA1DB 72HDB 04HDTSEG ENDSDTSEG SEGMENTORG 10HDATA1 DW 7204HDTSEG ENDS第3页1.2 [库中题号:050038] 5分指出下列指令的错误:(1) MOV AX,[BX][BP] (2) MOV [BX],ES:AX (3) MOV BYTE PTR[BX],10001.3 [库中题号:050037] 5分指出下列指令的错误:(1) MOV AX,OFFSET [SI] (2) MOV CS,AX (3) MOV DS,BP1.4 [库中题号:050036] 5分执行完下列程序后,回答指定的问题。
MOV AX,0MOV BX,2MOV CX,50LP:ADD AX,BXADD BX,2LOOP LP问:(1) 该程序的功能是。
(2) 程序执行完成后,(AX)= 。
1.5 [库中题号:050035] 5分分析汇编语言源程序应该由哪些逻辑段组成?各段的作用是什么?语句标号和变量应具备哪3种属性?1.6 [库中题号:050034] 5分下面是将内存一字节数据高4位和低4位互换并放回原位置的程序,找出错误并改正。
DATA SEGMENTDD1 DB 23HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI,OFFSET DD1MOV AL,[SI]MOV CL,4RCR AL,CLMOV [SI],ALMOV AH,4CH第4页INT 21HCODE ENDEND START1.7 [库中题号:050033] 5分写出将首地址为BLOCK的字数组的第6个字送到CX寄存器的指令序列,要求分别使用以下几种寻址方式:(1) 以BX的寄存器间接寻址(2) 以BX的寄存器相对寻址(3) 以BX、SI的基址变址寻址1.8 [库中题号:050032] 5分根据以下要求写出相应的汇编语言指令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sign与sinteger 均为双字变量。
if ( sinteger = = 0)sign = = 0;else If ( siteger > 0)sign = 1;elsesign = -1;mov eax,sintegermov edx,signcmp eax,0jnz L1mov ebx,0L1:cmp ebx,0jl L2mov ebx,1L2:mov ebx,-12. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中ch1与caps均为字节变量。
if (ch1> =’a’ && ch1< =’z’)caps= =0;if (ch1> =’A’ && ch1< =’Z’)caps= =1;mov ax,ch1mov bx,capscmp ax,ajb nextcmp ax,zja nextmov bx,0next:cmp ax,Ajl donecmp ax,Zja donedone:3. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sum与i变量均为双字变量。
sum=0;for ( i=1;i< =100;i++)if ( i%2= =0)sum=sum+i;mov ecx,imov ecx,1.while(ecx<=100)mov eax,ecxxor edx,edxmov ebx,2div ebxcmp edx,0jnz nextadd sum,ecxnext:inc ecx.endw1. 能被4整除但不能被100整除,或者年被400整除的年份是闰年。
编程写一个完整的程序,求出2012年~2099年中的所有闰年年份,并把它们存放在数组Lyear中。
算法描述; esi=0;ecx=2012;; while (ecx<2100); { if (year mod 4=0 and year mod 100 <>0) or (year mod 400=0) then; {Lyear[esi]=ecx;esi++;}; ecx++;; }; Lcounter=esi;include io32.inc.dataLyear dword 100 dup(?)Lcounter dword 0.codemainprocxor esi,esi ;esi闰年个数计数器,兼做Lyear下标。
mov ecx,2012 ;ecx年份计数器。
.while (ecx<2100)mov eax,ecxxor edx,edxmov ebx,400div ebxcmp edx,0jz leap ;if year mod 400=0 then goto leapmov eax,ecxxor edx,edxmov ebx,4div ebxcmp edx,0jnz next ;if year mod 4<>0 then goto nextmov eax,ecxxor edx,edxmov ebx,100div ebxcmp edx,0jz next ;if year mod 100=0 then goto nextleap: mov Lyear[esi*4],ecxinc esimov eax,ecxcall dispuid ;输出,用于验证。
可以删掉call dispcrlf ;输出,用于验证。
可以删掉next: inc ecx.endwmov Lcounter,esimov eax,esicall d ispuid ;输出,用于验证。
可以删掉call d ispcrlf ;输出,用于验证。
可以删掉retmainendp ;end of mainend main ;end of assembly2. 编程写一个完整的程序,求出2~100之间的所有素数,并将它们存入Prime数组中,素数的个数存入变量Pcounter中。
; 采用伪代码pseudo code描述算法; 1. i=2 to 100 do; 1.1 if i is prime number then print i; 细化1.1 如下:; 1.1 j=2 to i/2 do; 1.1.1 if i mod j=0 then goto next i; 1.1.2 print i; 合理分配寄存器,i=ebx,j=ecx,edxeax做被除数,ecx做除数.include io32.inc.datamsg byte ' List of prime number',13,10,0msg1 byte ' Lcounter is :' ,13,10,0blank byte ' ',0prime dword 100 dup(?)pcounter dword 0.codemainproc ;主程序开始mov esi,0mov eax,offset msgcall d ispmsgmov ebx,2iLoop: cmp ebx,100 ;i循环入口ja donemov ecx,ebxshr ecx,1 ;j=i/2jLoop: cmp ecx,2 ;j循环入口jb printmov eax,ebxcdq ;xor edx,edxdiv ecx ;被除数送eax,32位除法or edx,edx ;cmp edx,0jz nexti ;if i mod j=0 then goto next idec ecxjmp jLoopprint: mov prime[esi*4],ebxinc esimov eax,ebxmov eax,offset blankcall d ispmsg ;显示空格nexti: inc ebx ;i=i+1jmp iLoopdone: call dispcrlfmov eax,offset msg1call d ispmsgmov pcounter,esimov eax,esicall dispuidcall dispcrlfret ;返回操作系统mainendp ;主程序结束end main ;end of assembly3. 编程写一个完整的程序,将数组aray中的元素按逆序存放,要求程序中附加的变量最少。
数据段的定义如下:.dataaray dword 12,4, 168,122,-33,56,78,99,345, 66,-5; 采用伪代码pseudo code描述算法; 1. i=n-1 downto 1 do; 1.1 j=0 to i-1; 1.1.1 if a[j]>a[j+1] then swap; 合理分配寄存器,i=ecx,j=edx ,i-1=ecx-1include io32.inc.data ;set data segmentblank3 byte 3 dup(20h),0array dword 12,4,-168,122,33,56,78,99,345,-66,-5char byte ?msg byte 13,10,'press any key to continue ...',0 ;字符串.codemainprocmov ecx,(lengthof array)-1 ;计数循环的初值iLoop: ;i循环入口dec ecx ;ecx=i-1xor edx,edxjLoop: ;j循环入口,循环控制变量edxcmp edx,ecxjg nextimov eax,array[edx*4]cmp eax,array[edx*4+4]jge nextjxchg eax,array[edx*4+4]mov array[edx*4],eaxnextj: inc edxjmp jLoopnexti: inc ecx ;retrieve ecxloop iLoopprint: xor ecx,ecxagain: cmp ecx,lengthof array-1jg donemov eax,array[ecx*4]call dispsidmov eax,offset blank3 ;显示空格call dispmsginc ecxjmp againdone: mov eax,offset msg ;显示:press any key to continuecall dispmsgmov eax,offset char ;暂停,等待按任意键call readcret ;返回操作系统mainendpend main ;end of assembly4. 编程写一个完整的程序,求数组aray中的最大值与最小值,并将它们分别存入max和min 元中。
数据段的定义如下:.dataaray dword 12,4,-168,122,-33,56,78,99,345,-66,-5min dword ?max dword ?include io32.inc.dataaray dword 12,4,-168,122,-33,56,78,99,345,-66,-5min dword ?max dword ?prompt byte 'Enter an integers :',0maxStr byte 'max=%d',13,10,0 ;显示字符串的格式描述串minStr byte 'min=%d',13,10,0main procmov ecx,lengthof ara -1mov eax,ara[0] ;eax:maxmov ebx,eax ;ebx,minmov esi,1again: cmp eax,ara[esi*4]jge smallmov eax,ara[esi*4]small: cmp ebx,ara[esi*4]jle nextmov ebx,ara[esi*4]next: inc esiloop againmov max,eaxmov min,ebxret ;返回操作系统main endpend main5. 编程写一个完整的程序统计msg中的空格的个数与小写字母的个数,并分别将它们存入space单元与char单元中。
数据段的定义如下:.datamsg byte 'I love XUT !',13,10,0space dword ?char dword ?include io32.inc.datamsg byte 'I love XUT!',13,10,0space dword ?char dword ?.codemain procmov ebx,0xor edi,edimov esi,edil1: mov al,msg[ebx]cmp al,20hjnz done1cmp al,0jz nextinc ediinc ebxjmp l1done1: cmp al,'a'cmp al,'z'ja done2cmp al,0jz nextinc esiinc ebxjmp l1done2: cmp al,0jz nextinc ebxjmp l1next: mov space,edimov eax,spacecall dispuidcall dispcrlfmov char,esimov eax,charcall dispuidcall dispcrlfretmain endpend main6. 编程写一个完整的程序,将字符串msg中所有的小写字母转换为大写字母。