第三章微机原理 习题课

合集下载

微机原理及应用(陈继红、徐晨)课后习题答案

微机原理及应用(陈继红、徐晨)课后习题答案

微机原理及应⽤(陈继红、徐晨)课后习题答案微机原理及应⽤(陈继红、徐晨)课后习题答案第三章8086/8088指令系统和寻址⽅式习题答案(部分)3.1总结计算机中⼗进制、⼆进制、⼋进制及⼗六进制数的书写形式。

123D、0AFH、77Q、1001110B分别表⽰什么计数制的数?答案:123D、0AFH、77Q、1001110B分别表⽰⼗进制、⼗六进制、⼋进制、⼆进制。

3.2字长为8位、16位⼆进制数的原码、补码表⽰的最⼤数和最⼩数分别是什么?答案:8位原码表⽰的最⼤数:(27-1)、8位补码表⽰的最⼤数:(27-1)、8位原码表⽰的最⼩数:-(27-1)、8位补码表⽰的最⼩数-27。

16最⼩数:-215。

3.3答案:7DH。

(2)255(3)7248H。

(4)509013E2H。

3.4答案:240D0F0H。

128D80H。

(3)11111111⼗进制数:255D;⼗六进制数:0FFH。

(4)01010101⼗进制数:85D;⼗六进制数:55H。

3.5把下列⽆符号⼗六进制数分别转换为⼗进制数和⼆进制数。

(1)FF(2)ABCD(3)123(4)FFFF答案:(1)FF⼗进制数:255D;⼆进制数;11111111B。

1010101111001101B。

(3)123⼗进制数:291D;⼆进制数;000100100011B。

(4)FFFF⼗进制数:65535D;⼆进制数;1111111111111111B。

3.6分别⽤8位⼆进制数和16位⼆进制数写出下列⼗进制数的原码和补码。

(1)16(2)-16(3)+0(4)-0(5)127(6)-128(7)121(8)-9 答案:(1)16800010000(2)-16800010000(3)+0800000000(4)-0800000000(5)127801111111(6)-128810000000(7)1218:01111001;16位⼆进制数原码:0000000001111001补码:0000000001111001。

李伯成《微型计算机原理及应用》课后习题答案

李伯成《微型计算机原理及应用》课后习题答案

李伯成《微机原理》习题第三章3.1MOV AX,00H;立即寻址SUB AX,AX;寄存器寻址MOV AX,[BX];寄存器间接寻址MOV AX,TABLE;直接寻址MOV AL,ARAY1[SI];寄存器相对寻址MOV AX,[BX+6];寄存器相对寻址3.2若1KB的数据存放在TABLE以下,试编写程序将该数据拌到NEXT之下。

程序片段如下:ORG 100hMOV CX,03FFH;数据个数LEA SI,TABLE;源区首地址LEA DI,NEXT;目的区首地址AGAIN: MOV AL,[SI];MOV [DI],AL;搬移INC SIINC DI;移动地址指针DEC CX;循环计数器递减JNZ AGAIN;循环未结束转HLT;暂停TABLE DB 1024 dup ('A');源数据区NEXT DB 1024 dup (0);目的数据区3.3编写10个字(16位二进制数)之和的程序ORG 100hLEA SI,ADD1;LEA DI,ADD2;LEA BX,SUM;MOV CL,CONT;MOV CH,0; 循环初始化CLC;进位清零MADD1: MOV AX,[SI];读加数1ADC AX,[DI]ADD SI,2;移动源区地址指针ADD DI,2;移动目的区地址指针MOV [BX],AX;回存计算结果ADD BX,2;移动“和”存储区地址指针LOOP MADD1;循环控制HLT;暂停ADD1 DB 0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加数1ADD2 DB 56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H;加数2SUM DB 10 DUP (0);和存储单元CONT DB 5 ;循环次数3.4 某16位二进制数,放在DATA连续的两个单元中,试编程求其平方根和余数,将其分别存放在ANS 和REMAIN中。

[工学]微机原理习题课

[工学]微机原理习题课

一、 8086/8088的内部结构
通 用 寄 存 器 AH AL BH BL CH CL DH DL SP BP DI SI 20位 CS DS SS ES IP
地址加法
16位 输入/输出 控制电路
16位
运算寄存器 ALU 标志 执行部件(EU) 执行 部分 控制 电路
内部暂存器
外 部 总 线
1 2 3 4 5 6
逻辑运算指令AND、OR、NOT、
逻辑运算和 移位指令
XOR、TEST 移位指令SHL/SHR、SAL/SAR 循环移位指令ROL/ROR、RCL/RCR
注意: 1、除NOT 不影响标志位,其他的逻辑运算指令影响SF、ZF、 PF ,AF不确定,CF和OF总为0 2、循环移位指令仅影响CF和OF
例:二进制数B3和E9H进行逻辑异或运算,其结果及 进位标志分别是 A 。 A、01011010,0 B、11111011,1 C、11111011,0 D、01011010,1
8位 指令队列缓冲器 总线接口部件(BIU)
二、总线周期、时钟周期、指令周期
BIU通过总线访问存储器或I/O接口所需要的时 间称为总线周期,一个总线周期只能访问一次存储 器或I/O接口,不同的总线操作要求不同数量的总线 周期。 时钟周期是CPU的最小时间单位,是频率f的倒 数。 通常一个总线周期由4个时钟周期组成。 指令周期是CPU执行一条指令所需的时间,指令 周期由若干个总线周期组成。 存取周期是指存储器进行相邻两次存取操作所需 的最小时间间隔。
例2:设字长n=4,已知X=-3,则下列4组等式中完全 正确的一组是 A 。 A、[2X]原 =1110 [2X]补=1010 B、[2X]原=1111 [2X]补=1010 C、[2X]原 =1110 [2X]补=1011 D、[2X]原 =1111 [2X]补=1011 例3:设[X]反 =24H,则[X]补 和 [-X/2]补 分别是 C 。 A、57H,D5H B、D7H,2BH C、24H,EEH D、24H,EDH

16。32位微机原理第3章课后习题答案

16。32位微机原理第3章课后习题答案

>第3章3.1:汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序3.2 解:(1)完整的汇编语言源程序由段组成(2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列(3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点(4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内(5)通常,程序还需要一个堆栈段3.3 解:存储模式特点TINY COM类型程序,只有一个小于64KB的逻辑段(MASM 6.x支持)SMALL小应用程序,只有一个代码段和一个数据段(含堆栈段),每段不大于64KB COMPACT代码少、数据多的程序,只有一个代码段,但有多个数据段MEDIUM代码多、数据少的程序,可有多个代码段,只有一个数据段LARGE大应用程序,可有多个代码段和多个数据段(静态数据小于64KB)HUGE更大应用程序,可有多个代码段和多个数据段(对静态数据没有限制)FLAT32位应用程序,运行在32位80x86CPU和Windows 9x或NT环境3.4解:开始位置:用标号指明返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编3.5解:段定位、段组合和段类型。

3.6给出采用一个源程序格式书写的例题3.1源程序例题3.1:创建一个在屏幕上显示一段信息的程序……解:stack segment stackdb 1024(0)stack endsdata segmentstring db 'Hello,Assembly!',0dH,0aH,‘$’data endscode segment 'code'assume cs:code,ds:data,ss:stackstart: mov dx,offset stringmov ah,9int 21hcode endsend start3.7DOS支持哪两种可执行程序结构,编写这两种程序时需要注意什么?解:(1). EXE程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB通常生成EXE结构的可执行程序(2). COM程序只有一个逻辑段,程序长度不超过64KB需要满足一定条件才能生成COM结构的可执行程序(MASM 6.x需要采用TINY模式)3.8举例说明等价“EUQ”伪指令和等号“=”伪指令的用途解:符号定义伪指令有“等价EQU”和“等号=”:符号名 EQU 数值表达式符号名 EQU <字符串>符号名=数值表达式EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。

微机原理第三章课后习题解答

微机原理第三章课后习题解答

3.1已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H ,(1E4F6H)=091DH。

在以上给出的环境下,试问下列指令段之行后的结果如何?(1)MOV CL,[BX+20H][SI];物理地址=DS*10H+BX+SI+20H=091D0H+0024H+0012H+0020H=09226H(09226H)=00F6H,(09226H)=F6H, (09227H)=00H执行后:CL=F6H(2)MOV [BP][DI], CX物理地址=SS*10H+BP+DI=1E4A0H +0024H+0032H=1E4F6HCX=5678H 执行后:(1E4F6H) = 5678H(3)LEA BX, [BX+20H][SI];BX=BX+20H+SI=0056HMOV AX, [BX+2];物理地址=DS*10H+BX+2=091D0H +0058H=09228H (09228H)=1E40H 执行后:AX=1E40H(4)LDS SI, [BX][DI];物理地址=DS*10H+BX+DI=091D0H +0056H=09226H (09226H)=00F6H (09228H)=1E40H执行后:BX=(09226H)=00F6HDS=(09228H)=1E40HMOV [SI],BX物理地址=DS*10H+SI =1E400H +0012H=1E412HBX=0024H, 执行后:(1E412H)=0024H (5)XCHG CX,[BX+32H]物理地址=DS*10H+BX+32H =091D0H +0056H =09226H (09226H)=00F6H , CX=5678H执行后:(09226H)=5678H , CX=00F6HXCHG [BX+20H][SI], AX物理地址=DS*10H+BX+20H+SI =091D0H +0056H =09226H (09226H)=5678H , AX=1234H执行后:(09226H)=1234H , CX=5678H3.2设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H。

微机原理第三章习题答案

微机原理第三章习题答案

习题3答案1. 指出下列指令的错误原因。

(1) AND AX, DL ;类型不匹配(2) ADD CS, DX ;CS不能作为目的操作数(3) MOV AX, IP ;IP不能作为指令的操作数(4) MOV [BP][SI], [SI] ;两个操作数不能同时为内存操作数(5) SUB [BP][SI], ES:DX ;段超越前缀只能用在内存操作数之前(6) XCHG AL, [SI][DI] ;没有[SI][DI]这种操作数形式(7) JGE AX ;条件转移指令的操作数只能是标号(8) PUSH DL ;对堆栈不能进行字节操作2. 用一条指令将BX清0。

(请给出3种方法)方法1:MOV BX, 0方法2:SUB BX, BX方法3:AND BX, 0 ;将BX和0做与,可以将BX清零方法4:XOR BX, BX3. 写出实现下列功能的指令序列。

(1) 判断AX的值,若AX等于0,则转到标号LABEL处。

(请写出3种方法)方法1:CMP AX, 0JZ LABEL ; 如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果; 因此指令执行后AX内容不会受到破坏方法2:TEST AX, 0FFHJZ LABEL ; 如果ZF = 0,说明AX为0,TEST指令做与运算,可是不写回结果,只影响标志位。

; 和0与清零,和1与不变,所以和FFH做与的结果是AX本身,但是此时标志位已; 经改变了,所以可以利用标志位来判断,但是AX内容却没有受到任何破坏方法3:AND AX, 0FFH ;这个方法的原理和方法2其实是完全一致的JZ LABEL(2) 将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位清0。

MOV AH, ALAND AL, 0FH ; AL高4位通过与清零,而低4位保持不变MOV CL, 4SHR AH, CL ; 这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后,高位补零(3) 若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入BX;否则,AX和BX不变。

微机原理作业与答案第三章

微机原理作业与答案第三章

8086第三章作业3-11在实模式下,若段寄存器中装入如下数值,试写出每个段的起始地址和结束地址(1)1000H 10000H-1FFFFH(2)1234H 12340H-2233FH(3)E000H E0000H-EFFFFH(4)AB00H AB000H-BAFFFH3-12对于下列CS:IP组合,计算出要执行的下条指令存储器地址。

(1)CS=1000H和IP=2000H 答:下条指令存储器地址:12000H(2)CS=2400H和IP=1A00H 答:下条指令存储器地址:25A00H(3)CS=1A00H和IP=B000H 答:下条指令存储器地址:25000H(4)CS=3456H和IP=ABCDH 答:下条指令存储器地址:3F12DH3-37 指出下列指令源操作数的寻址方式(1)MOV AX,1200H;立即数寻址(2)MOV BX,[1200H];直接寻址(3)MOV BX,[SI];变址寻址(4)MOV BX,[BX+SI+1200];相对基变址寻址(5)MOV [BX+SI],AL;寄存器寻址(6)ADD AX,[BX+DI+20H];相对基变址寻址(7)MUL BL ;寄存器寻址(8)JMP BX ;间接寻址(9)IN AL,DX ;寄存器间接寻址(10)INC WORD PTR[BP+50H] ;相对基址寻址小结:虽然对存储器的访问指令、输入/输出指令(IN指令和OUT指令)、跳转指令(JMP指令)都有直接寻址和间接寻址,但是形式是有很大差别的:1.直接寻址:(1)对于存储器的访问用方括号括起来的二进制数,如:MOV BX,[1200H](2)对于输入/输出指令(IN指令和OUT指令)用二进制数如:IN AX,8FH 又如: OUT 78H,AL(3)对于跳转指令(JMP指令)是以目标标号为直接地址的如: JMP ADDR12.间接寻址:(1)对于存储器的访问有分为基址寻址、变址寻址、基址加变址寻址以及带位移量的所谓相对基址寻址、相对变址寻址、相对基址加变址寻址如:MOV AX,[BP](2)对于输入/输出指令用DX做间接寻址寄存器如:IN AX,DX 又如: OUT DX,AL(3)跳转指令直接写明寄存器即可 (段内)如: JMP BX段间需组合:如: JMP DWORD PTR [BX+ADDR1]3-38指出8086/8088下列指令中存储器操作数地址的计数表达式。

微机原理第三章练习题及解答

微机原理第三章练习题及解答

微机原理第三章练习题及解一:单项选择题●指令MOV AX,[BX] 中,源操作数的缺省段是( A )。

A:DS B:ES C:SS D:CS●指令PUSH [BX] 中,目的操作数的段寄存器是( C )。

A:DS B:ES C:SS D:CS●指令MOVSB 中,目的块的段寄存器是( B )。

A:DS B:ES C:SS D:CS●下列指令中,不正确的指令是( D )。

A:MOV AX,BX B:MOV AX,[BX]C:MOV AX,CX D:MOV AX,[CX]●下列指令中, 不正确的指令是( D )。

A:MOV AL,BL B:MOV AL,[BX]C:MOV AL,CL D:MOV AL,[BL]●下列指令中,不正确的指令是( D )。

A:MOV [BX+SI],AX B:MOV AX,[BX + SI]C:MOV AX,SI D:MOV AX,[BX + CX]●若要使寄存器AL中的高4 位不变,低4 位0,使用指令( B )。

A:AND AL,0FH B:AND AL,0F0HC:OR AL,0FH D:OR AL,0F0H●若要使寄存器AL中的高4 位不变,低4 位1,使用指令( C )。

A:AND AL,0FH B:AND AL,0F0HC:OR AL,0FH D:OR AL,0F0H●若要使寄存器AL中的高4 位为0,低4 位不变,使用指令( A )。

A:AND AL,0FH B:AND AL,0F0HC:OR AL,0FH D:OR AL,0F0H●若要使寄存器AL中的高4 位为1,低4 位不变,使用指令( D )。

A:AND AL,0FH B:AND AL,0F0HC:OR AL,0FH D:OR AL,0F0H●条件转移指令JNZ的转移条件是( B )。

A:CF = 0 B:ZF = 0 C:CF = 1 D:ZF = 1●条件转移指令JZ的转移条件是( D )。

A:CF = 0 B:ZF = 0 C:CF = 1 D:ZF = 1●8086CPU响应可屏蔽中断的条件是( B )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章习题课一、选择题1、在汇编语言程序得开发过程中使用宏功能得顺序就是()。

A、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略得项就是()。

A、名字项B、操作项C、操作数项D、注释项3、下列叙述正确得就是( )A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令4、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件得指令有( )、A、CMPB、SUBC、ANDD、MOV5、测试BL寄存器内容就是否与数据4FH相等,若相等则转NEXT处执行,可实现得方法就是( )。

A TEST BL,4FHJZ NEXTB XOR BL,4FHJZ NEXTC AND BL,4FHJZ NEXTD OR BL,4FHJZ NEXT6、检查BUF得内容就是否为正偶数,如就是正偶数,则令AL=0。

下面程序段正确得就是( )。

A、MOV AL,BUF JS K1SHR AL,1JNC K1MOV AL,0K1:……B、MOV AL,BUF AND AL,11 JNZ K2MOV AL,0K2:……C、MOV AL,BUFTEST AL,81HJNZ K3MOV AL,0K3:……7、下列描述中,执行循环得次数最多得情况就是()。

A.MOV CX,0B.MOV CX,1LOP:LOOP LOP LOP:LOOP LOPC.MOV CX,0FFFFHD.MOV CX,256LOP:LOOP LOP LOP:LOOP LOP8、在下列指令中, 指令得执行会影响条件码中得CF位。

A.JMP NEXTB.JC NEXTC.INC BXD.SHL AX,19、下列指令执行时出错得就是()。

A.ADD BUF1,BUF2B.JMP DWORD PTR DAT [BX]C.MOV AX,[BX+DI] NUMD.TEST AL,08H10、在下列指令得表示中,不正确得就是()。

A.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL11、在进行二重循环程序设计时,下列描述正确得就是()。

A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内C.内、外循环初值都应置外循环之外D.内、外循环初值都应置内循环之外,外循环之内12、下面就是多字节加法程序,第一个数就是8A0BH,第二个数就是D705H。

DA TA SEGMENTFIRST DB (1), (2),0HSECOND DB (3), (4)DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART:MOV AX,DA TAMOV DS,AXMOV CX, (5)MOV SI,0(6)NEXT: MOV AL,SECOND[SI]ADC FIRST[SI],ALINC SILOOP NEXTMOV AL,0ADC AL, (7)MOV FIRST[SI],ALMOV AH,4CHINT 21HCODE ENDSEND START请选择正确得答案填入空格中:(1)A)8AH B)0BHC)D7H D)05H(2)A)8AH B)0BHC)D7H D)05H(3)A)8AH B)0BHC)D7H D)05H(4)A)8AH B)0BHC)D7H D)05H(5)A)3 B)2C)1 D)4(6)A)CLC B)CLDC)STC D)CLI(7)A)1 B)-1C)0 D)0FFH二、填空题1、指令JMP FAR PTR DONE属于()寻址。

2、检查二个无符号数得关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟得分支指令就是()3、下面指令序列测试BH中得数就是否为奇数,若为奇数则转移至K1处,横线处得指令应为( )。

TEST BH,01H___K14、循环指令LOOPNZ终止循环得条件就是( )。

5、条件转移指令JNE得测试条件为()。

6、执行如下程序:MOV AX,0MOV BX,1MOV CX,100A:ADD AX,BXINC BXLOOP AHLT执行后 (BX)= ()。

上题得程序执行后(AX)= ()。

7、执行下面得程序段后,AL______。

BUF DW 2152H,3416H,5731H,4684HMOV BX, OFFSET BUFMOV AL, 3XLAT8、就是过程定义结束伪指令,其前面需要加配套使用。

就是段定义结束伪指令,其前面需要加配套使用。

9、设V ALA EQU 200V ALB EQU 30V ALC EQU 1BH下列表达式得值各为多少?(2)(V ALB AND 0FH)OR (V ALB XOR 0FH)(3)(V ALA GE V ALB )AND 0FH三、程序阅读与设计1、设AX,BX中得数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。

TEST AX,8000H___________MOV PLW,BXJMP DONEK1:____________DONE:2、MOV DL,ALNOT DLTEST DL,04HJE NEXT┇NEXT:…若上述程序段执行时产生分支,说明AL中得数第位一定为1?程序段执行后CF就是?3、下面程序段就是判断寄存器AH与AL中第3位就是相同,如相同,AH置0,否则AH置全1。

试把空白处填上适当指令。

___ XOR AH,AL____AND AH,08H____ JE ZERO_____MOV AH,OFFHJMP NEXTZERO:MOV AH,0NEXT:……4、AND AL,ALJZ BRCH1RCR AL,1JZ BRCH2RCL AL,1INC ALJZ BRCH3: 、、、、、、上述程序运行后,试回答:(1)当(AL)=__________时,程序转向BRCH1(2)当(AL)=_________时,程序转向BRCH2(3)当(AL)=_________时,程序转向BRCH35、下列语句在存储器中分别为变量分配多少字节空间? V AR1 DB 10,2V AR2 DW 5 DUP (?), 0V AR3 DB ‘HOW ARE YOU?’,’$’ V AR4 DD -1, 1, 0V AR1分配得字节空间为 字节;V AR2分配得空间为 字节;V AR3分配得空间为 字节,V AR4分配得空间为 字节。

6、以BUF 为首址得字节单元中,存放了COUNT 个无符号数,下面程序段就是找出其中最大数并送入MAX 单元中。

BUF DB 5,6,7,58H,62,45H,127,…… COUNT EQU $-BUF MAX DB ? ┇MOV BX,OFFSET BUF MOV CX,_____ MOV AL,[BX] LOP1:INC BX _________ __ JAE NEXT MOV AL,[BX] NEXT:DEC CX_____ ________________7、请在图中正确填写执行这些伪指令后数据区得内容STRING1 DB ‘ABCD ’ STRING2 DW ‘ABCD ’8、读下面得程序并要求:(1)在每条语句后给出作用释。

(2)画出程序流程图。

(3)回答该程序完成什么功能?DSEG SEGMENTNUM1 DW 500 DUP(?) NUM2 DB 150 DUP(?) DSEG ENDSCSEGSEGMENTASSUME CS:CSEG,DS:DSEGMAIN PROC RAR START: PUSH DS XOR AX,AX PUSH AX MOV CX,64H MOV BX,300 MOV SI,0STRING1STRING2MOV DI,0NEXT:MOV AL,BYTE PTR NUM1[BX][SI]ADD AL,ALMOV NUM2[DI],ALINC DIINC SILOOP NEXTRETMAIN ENDPCSEG ENDSEND START答:9、程序中下列语句在编译后装入内存时,操作系统为每个变量分配多少字节存储单元? 前15个字节中得内容就是什么?ABC1 DW 0AHXYZ1 DB 4 DUP(?)STR1 DB “error a!”,“$”STR2 DB “OK!”ABC2 DD 1,2,8150H答:10、试用数据定义语句DB或DW改写下述两语句中得某一个,使它们在存储器中有完全相同得存储情况。

VAR1 DB ‘abcdefghij’VAR2 DW 6162H,6364H,6566H,6768H,696AH答:11、下面程序得功能就是什么?MOV CH,4LAB:MOV CL,4ROL BX,CLMOV DL,BLAND DL,0FHADD DL,30HCMP DL,3AHJL PRINTADD DL,7PRINT:MOV AH,02INT 21HDEC CHJNZ LAB12、阅读如下程序段,回答所提出得问题,假定X1,X2,XN为无符号数。

ORG 100HBLOK DW X1,X2, (X)COUNT EQU($-BLOLOK)/2RESULT DW COUNT,?……LEA BX,BLOK-2MOV CX,RESULTXOR AX,AXGOON:ADD BX,2CMP AX,[BX]JAE NEXTMOV AX,[BX]NEXT:LOOP GOONMOV RESULT+2,AX程序段执行完,回答下述问题RESULT+2字存储单元得内容=______BX=______程序循环次数=______答:13、某程序欲用单个字符显示得2号功能调用去显示STRING中得字符串‘PUTER’(不显示字符‘$’!)、试在空白处填上适当得一条指令。

STRING DB‘PUTER’,‘$’┇MOV BX,0FFSET STRINGLOP:MOV DL,[BX]MOV AH,02HINT 21H_____ ____________________________JNE LOP14、试编写一个汇编语言程序,要求对键盘输入得小写字母用大写字母显示出来。

答:15、现有下列数据段:DATA SEGMENTSTR1 DB‘ABCDEFGHIJKL'COUNT EQU -STR1BUF DB COUNT DUP(0)DATA ENDS下面程序段就是实现把STR1中所有字符逆向传送到BUF缓冲区(即STR1中第一个字符送到BUF得最后一个单元,STR1中最后一字符送到BUF得第一个单元)。

相关文档
最新文档