汇编语言离线作业1答案及点评

合集下载

汇编语言-习题解答

汇编语言-习题解答
控制标志用于控制处理器的操作,可根据需要用指令设置。TF(Trap Flag)追踪标志,也称单步标志,当追踪标志TF为1时,CPU进入单步方式即CPU每执行一条指令后,产生一个单步中断,通常用于程序的调试;当追踪标志TF为0时,处理器正常工作。IF(Interrupt Flag)中断标志,当IF=1时,CPU可以响应可屏蔽中断请求;当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。DF(Direction Flag)方向标志,用于在串处理指令中控制地址的变化方向,当DF位为1时,每次操作后变址寄存器SI和DI自动减少,串处理从高地址向低地址方向处理;当DF为0时,则使SI和DI自动增加,使串处理从低地址向高地址方向处理。
答:TEST AL,0A9H;SF,ZF,PF
3.5现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,下列指令执行后AX寄存器的内容:
状态标志用来记录程序运行结果的状态信息,它们是根据有关指令的执行结果由CPU自动设置的,常用作条件转移指令的转移控制条件。CF(Carry Flag)进位标志,主要用来反映运算是否产生进位或借位,如果运算结果的最高位有效位产生进位或借位时,进位标志置1,即CF=1,否则置0。PF(Parity Flag)奇偶标志,用于反映运算结果中“1”的个数的奇偶性,当运算结果最低字节中“1”的个数为零或偶数时,PF=1,否则PF=0。AF(Auxiliary carry Falg)辅助进位标志,记录运算时第3位(低半字节)产生的进位值,辅助进位标志一般在BCD码运算中作为是否进行十进制调整的判断依据。ZF(Zero Flag)零标志,用来反映运算结果是否为0,运算结果为0时ZF位置1,否则置0。SF(Sign Flag)符号标志,记录运算结果的符号,它与运算结果的最高位相同,结果为负时置1,否则置0。OF(Overflow Flag)溢出标志,用于反映有符号数运算结果是否溢出,在运算过程中,如操作数超出了机器能表示的范围,则称为溢出,此时OF位置1,否则置0。

汇编语言部分作业题(含答案)

汇编语言部分作业题(含答案)

一、填空题1、编写一条宏指令CLRB,完成用空格符将一字符区中的字符取代的工作。

字符区首地址及其长度为变元。

宏定义如下:CLRB MACRO N, CFILMOV CX, ()CLDMOV ( ), ' ' ;;取空格符的ASCII码() DI, CFILREP ( )( )正确答案:第一空:n第二空:al第三空:LEA第四空:STOSB第五空:endm我的答案:得分: 6.6分第一空:N第二空:AL第三空:LEA第四空:STOSB第五空:ENDM2、某工厂计算周工资的方法是每小时的工资率RATE乘以工作时间HOUR,另外每工作满10小时加奖金3元,工资总数存放在WAG中。

请将周工资的计算编写成一条宏指令WAGES.宏定义如下:WAGES MACRO RATE, HOUR, WAGMOV (), HOUR ;;计算周工资(WAG),公式为:HOUR* RATEMOV BL, RATEMUL BLMOV WAG, AXMOV AL, HOUR ;;计算奖金存入(AX),公式为:HOUR/10的商*3MOV AH, 0MOV BL, 10DIV ()MOV BL, ()MUL ()ADD WAG, ();;计算周工资总数ENDM正确答案:第一空:al第二空:bl第三空:3第四空:BL第五空:AX我的答案:得分: 6.6分第一空:AL第二空:BL第三空:3第四空:BL第五空:AX3、下面的程序段是二进制到十六进制转换程序,请填空。

mov ch, 4 rotate: mov cl, 4rol bx,()mov al, bland al,()add al, 30h ; ’0’~’9’ ASCII 30H~39Hcmp al, 3ahjl printitadd al,() ; ’A’~’F’ ASCII 41H~46Hprintit: mov() , almov ah, 2int 21h()jnz rotate正确答案:第一空:cl第二空:0f;0fh第三空:7h;07h;07第四空:dl第五空:dec ch我的答案:得分: 6.6分第一空:cl第二空:0fh第三空:07h第四空:dl第五空:dec ch4、IRP BUF,<3,17,20,46,87,89,100> DB BUFENDM汇编后生成的代码等价于( )正确答案:第一空:DB 3,17,20,46,87,89,100我的答案:得分: 6.6分第一空:DB 3,17,20,46,87,89,1005、IRPC BUF,12345DB BUFendm汇编后的代码等价于:()正确答案:第一空:DB 1,2,3,4,5我的答案:得分: 6.6分第一空:DB 1,2,3,4,56、已知宏定义:FOO macro p1,p2,p3mov ax,p1p2,p3endm宏调用:FOO WORD_VAR,inc,ax则宏展开指令是( )( )正确答案:第一空:ov ax,WORD_VAR第二空:inc ax我的答案:得分: 7.6分第一空:mov ax,WORD_VAR第二空:inc ax7、已知宏定义:LEAP macro COND,LABJ&COND LABendm宏调用:LEAP Z,THERE则宏展开指令是()正确答案:第一空:JZ THERE我的答案:得分: 7.6分第一空:JZ THERE8、已知宏定义FO macro P1JMP TA&P1endm宏调用:FO WORD_VAR则宏展开结果是( )正确答案:第一空:JMP TAWORD_VAR我的答案:得分: 7.6分第一空:JMP TAWORD_VAR9、已知宏定义:MSGGEN macro LAB,NUM,XYZLAB&NUM db 'hello mr.&XYZ' endm宏调用:MSGGEN MSG,1,taylor则宏展开结果是( )正确答案:第一空:MSG1 db 'hello mr.taylor'我的答案:得分: 7.6分第一空:MSG1 db 'hello mr.taylor'10、MSG macro COUNT,STRINGMSG&COUNT db STRINGendmERRMSG macro TEXTCNTR=CNTR+1MSG %CNTR,TEXTendm宏调用:CNTR=0ERRMSG 'syntax error'则宏展开是( )正确答案:第一空:MSG1 db 'syntax error'我的答案:得分: 7.6分第一空:MSG1 db 'syntax error'11、下面的循环程序是利用逻辑尺来控制的,请填空。

汇编语言练习1+答案

汇编语言练习1+答案

汇编语言练习1+答案一、单项选择题(本大题共20 小题,每小题 1 分,共20 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1. 下列寄存器组中在存储器操作数寻址时可用于提供偏移地址的是(D)A.AX ,BX ,CX ,DXB.SP ,BP ,SI ,DIC.CS ,ES ,DS ,SSD.BX ,BP ,SI ,DI2. 某存储单元的段地址是0AB90H ,偏移地址是1234H ,该存储单元的物理地址是(B)A.0BDC4HB.0ACB34HC.0AD134HD.1CED0H3. 执行NEG 指令时,要设置标志位CF 。

设置CF 的正确说法是(C)A. 对正数求补时,CF 置0B. 对负数求补时,CF 置0C. 对全0 数据求补时,CF 置0D. 对非零数据求补时,CF 置04. 设DF=1 ,每次执行CMPSW 指令时,SI 和DI 均要分别(B)A. 减1B. 减2C. 加1D. 加 25. 要使BL 中的低四位变反,高四位不变,应执行指令(D)A.NOT BLB.OR BL ,0FHC.AND BL ,0FHD.XOR BL ,0FH6. 设(AL )=07H ,要使(AL )=-07H 应执行的指令是(C)A.OR AL ,80HB.NOT ALC.NEG ALD.ADD AL ,80H7. 在8086/8088 的立即数寻址方式中,对寄存器的使用下列说法正确的是(D)A. 使用AX ,BX ,CX ,DXB. 使用SI ,DI ,BP ,SPC. 使用任一个通用寄存器D. 不使用任何寄存器8. 下列指令执行时操作数在数据段的是(D)A.MOV AX ,32768HB.ADD AL ,AHC.NEG BXD.INC [DI]9.MOV AL ,-1NEG ALXOR AL ,65上述指令执行后,AL 的值是()A.01HB.40HC.61HD.64H10. 设SP=4AH ,执行段内返回指令RET 4 后,SP 的值是(D)A.44HB.48HC.4CHD.50H11. 在查错程序DEBUG 中,为查看或修改内存单元的内容,这时存储单元地址是使用(A)A. 逻辑地址B. 物理地址C. 逻辑地址或物理地址D. 由用户指定选择逻辑地址或物理地址12. 设NUM=60H ,表达式:(NUM LT 60H AND 30 )OR (NUM GE 60H AND 40 )的值是(A)A.0B.3EHC.40D.0FFFFH13. 指令MOV CL ,55H XOR 0F0H 执行后CL 中的值是(C)A.05HB.50HC.0A5HD.0F5H14. 下面语句中能和指令MOV AX ,NOT 0FH 等效的是(C)A.MOV AX ,0FFFFHB.MOV AX ,0FHC.MOV AX ,0FFF0HD.MOV AX ,0F0FFH15. 对CS 段寄存器赋段地址的方法是(B)A.MOV AX ,COSEB.ASSUME CS :COSEC.END 起始地址D.MOV CS ,2050H16. 有数据定义BUF DB 8DUP (3 DUP (2 ),2 DUP (3 )),在BUF 中能构成数据0302H 有(C)A.5 个B.6 个C.7 个D.8 个17.X DW 1234H ,0A9BHY DB 7EH ,8DH┇MOV BH ,TYPE XMOV BL ,TYPE Y执行后BX 的内容是(D)A.0102HB.0101HC.1234HD.0201H18. 下面有语法错误的指令是(B)A.XCHG AX ,[BX]B.XCHG AX ,DSC.XCHG AX ,SID.XCHG AX ,BP19. 条件转移指令JBE 产生转移的条件是(D)A.CF=0 OR ZF=0B.CF=0 OR ZF=1C.CF=1 OR ZF=0D.CF=1 OR ZF=120.XOR AX ,426HJZ DONE上述程序段产生分支的条件是(A)A. 执行前AX=426HB. 执行前AX ≠ 426HC. 执行前AX= 全0D. 执行前AX= 全1二、填空题(本大题共 6 小题,每小题 1 分,共 6 分)请在每小题的空格中填上正确答案。

《汇编语言程序设计》第1次作业

《汇编语言程序设计》第1次作业

一、单项选择题(只有一个选项正确,共10道小题)1.十进制数-100的8位二进制数的补码为()。

(A) 10011100(B)11100100(C) 11001110(D) 011001002.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

(A) 无符号十进制数136(B) 压缩型BCD码十进制数88(C) 8位二进制数-8的补码表示(D) 带符号十进制数-1203.指令MOV AX,[BX][SI]中源操作数采用的寻址方式是()。

(A) 寄存器(B) 基址变址(C) 寄存器间接(D) 寄存器相对4.下面有语法错误的指令是( )。

(A) ADD [BP+2],DA1(DA1是变量名)(B) ADD [BX+3],AL(C) ADD AL,AH(D) ADD AH,[DI]5.在DEBUG上机调试程序时,存储器地址表示为12FA:015F,它的物理地址是( )(A) 12FAH(B) 1305FH(C) 015FH(D) 130FFH6.下列指令中,执行后,不改变标志位ZF的是()。

(A) AND AL,AL(B) TEST AL,0FFH(C) CMP AL,BL(D) ROR AL,CL7.DATA SEGMENTDA1 DB 32 DUP(?)DA2 DW 1456H,789AHDA3 DW DA2DATA ENDS…MOV BX, DA3上述指令执行后,BX中的内容是( )。

(A) 0031H(B) 0032H(C) 0020H(D) 0021H8.完成将累加器AX清零,下面错误的指令是()。

(A) OR AX,00H(B) AND AX,00H(C) XOR AX,AX(D) SUB AX,AX9.数据段有如下数据定义VAR DB 4 DUP(1,5 DUP(?)),1,2执行指令MOV AL,SIZE VAR后AX寄存器的值是多少()。

(A) 4(B) 1(C) 5(D) 2010.内存中(2000H)=3000H,(3000H)=A01FH,MOV BX,[2000H]MOV AX,[BX]执行上述指令AX的内容是()。

汇编语言试题及参考答案1

汇编语言试题及参考答案1

汇编1一、单项选择题(每小题1分,共10分)1、十进制数269变换为十六进制数是(C)。

(A)10B (B)10C (C)10D (D)10E2、指令mov 100[si][bp],ax目标操作数的隐含段为(B )。

(A)数据段(B)堆栈段(C)代码段(D)附加段3、以下语句汇编后,CENTH的值是(C )buf1 dw 8,19,buf2 db 6,'abc$',10 dup('5'),CENTH equ buf2—buf1A.14B.8C.4D.174、若栈顶物理地址为20100H,当执行完指令PUSH AX后,栈顶的物理地址为(D)。

(A)20102H (B)20101H (C)200FFH (D)200FEH5、执行下列指令后,正确的结果是(B)。

MOV AL,100。

MOV BL,-2(A)AL=100H,BL=02H (B)AL=64H,BL=0FEH(C)AL=64H,BL=82H (D)AL=100H,BL=0FEH6、假定AX的内容为-32768,在执行了指令NEG AH后,标志位(SF,OF)为(D )。

(A)0,0 (B)0,1 (C)1,0 (D)1,17、设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为(B)。

(A)OF=1,CF=0 (B)OF=1,CF=1 (C)OF=0,CF=0 (D)OF=0,CF=18、当A≥B时转移的条件转移指令为(A,B为带符号数)(D )。

(A)JA (B)JAE (C)JG (D)JGE9、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(A )。

(A)MOV AL,00H (B)AND AL,00H (C)XOR AL,AL (D)SUB AL,AL10、已知CALL BX执行前SP=100H,执行后SP的内容为(D)。

(A)100H (B)102H (C)98H (D)0FEH二、填空题(每空1分,共10分)1、(00101011)B+(13)D+(1B)H=(123 )Q2、IBM PC机内存容量最大为(1M )B,要寻找这样大的空间,需要()根地址线。

汇编语言程序设计 第一二三阶段在线作业

汇编语言程序设计 第一二三阶段在线作业

第一次在线作业单选题 (共40道题)∙A、BX或CX∙B、CX或SI∙C、DX或SI∙D、SI或DI我的答案:D 此题得分:2.5分∙A、数据段中偏移量为3236H的字节∙B、附加段中偏移量为3234H的字节∙C、数据段中偏移量为3234H的字节∙D、附加段中偏移量为3236H的字节我的答案:A 此题得分:2.5分∙A、上一条指令的首地址∙B、下一条指令的首地址∙C、正在执行指令的首地址∙D、需计算有效地址后才能确定地址我的答案:B 此题得分:2.5分4.(2.5分)某系列微机对存储器的分段,如果每一个段最多的字存储单元(16位二进制)是32K,那∙A、20位∙B、16位∙C、15位∙D、12位我的答案:B 此题得分:2.5分∙A、AX,BX,CX,DX∙B、DS,ES,CS,SS∙C、SP,BP,IP,BX∙D、SI,DI,BP,BX我的答案:D 此题得分:2.5分6.(2.5分)要求将A,B两个字符的ASCⅡ码41H,42H顺序存放在连续两个字存储单元中,可选用∙A、DA1 D B ‘AB’∙B、DA1 DW ‘AB’∙C、DA1 B ABH∙D、DA1 W ABH我的答案:A 此题得分:2.5分∙A、DB 5H∙B、DW ABCDH∙C、DW ‘ABCD’∙D、DD ‘AB’我的答案:C 此题得分:2.5分∙A、通用寄存器∙B、堆栈∙C、程序计数器∙D、主存单元我的答案:D 此题得分:2.5分∙A、变址寻址∙B、寄存器寻址∙C、相对寻址∙D、寄存器间接寻址我的答案:D 此题得分:2.5分∙A、85B92H∙B、86192H∙C、BB690H∙D、12169H我的答案:A 此题得分:2.5分∙A、AX,BX,CX,DX∙B、BX,BP,SI,DI∙C、SP,IP,BP,DX∙D、CS,DS,ES,SS我的答案:B 此题得分:2.5分12.(2.5分)BUF DW 10H DUP(3 DUP(2,10H),3,5) 上述语句汇编后,为变量BUF分配的存∙A、80H∙B、100H∙C、124∙D、192我的答案:B 此题得分:2.5分∙A、物理地址∙B、偏移地址∙C、逻辑地址∙D、段地址我的答案:A 此题得分:2.5分∙A、字∙B、双字∙C、字节∙D、四字我的答案:C 此题得分:2.5分∙A、符号∙B、变量∙C、助记符∙D、标号我的答案:B 此题得分:2.5分∙A、DATA1 DW 1856H∙B、DATA1 DB 18H,56H∙C、DATA1 EQU 5618H∙D、DATA1 DB 18H,00H,56H,00H我的答案:B 此题得分:2.5分17.(2.5分)计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码,目前,微∙A、BCD码∙B、二进制码∙C、ASCII码∙D、十六进制码我的答案:C 此题得分:2.5分18.(2.5分)假设存储器中从7462H单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,∙A、7462H∙B、7463H∙C、7464H∙D、7465H我的答案:C 此题得分:2.5分∙A、08090H∙B、08089H∙C、0808EH∙D、08450H我的答案:A 此题得分:2.5分∙A、16*SS+SP∙B、16*SS+BP∙C、16*DS+BP∙D、16*CS+BP我的答案:A 此题得分:2.5分∙A、16*SS+BP+DI∙B、16*ES+BP+DI∙C、16*DS+BP+DI∙D、16*CS+BP+DI我的答案:A 此题得分:2.5分22.(2.5分)一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一∙A、12C5BH∙B、12B6BH∙C、12C59H∙D、12BFEH我的答案:C 此题得分:2.5分∙A、2345H∙B、12345H∙C、12340H∙D、1234H我的答案:D 此题得分:2.5分∙A、变址寻址∙B、寄存器寻址∙C、相对寻址∙D、寄存器间接寻址我的答案:D 此题得分:2.5分∙A、DB 20 DUP(?)∙B、DW 20H DUP(?)∙C、DB 10H DUP(4 DUP(?))∙D、DD 08H DUP(?)我的答案:D 此题得分:2.5分∙A、BX∙B、BP∙C、SI∙D、DI我的答案:B 此题得分:2.5分∙A、ZF=1∙B、ZF=0∙C、SF=l∙D、SF=0我的答案:A 此题得分:2.5分∙A、304FH∙B、304EH∙C、3048H∙D、3049H我的答案:B 此题得分:2.5分∙A、185A2H∙B、00020H∙C、01004H∙D、0AB568H我的答案:B 此题得分:2.5分∙A、.64K个字∙B、32K个字节∙C、64K个字节∙D、.1兆个字节我的答案:C 此题得分:2.5分∙A、DIV 2∙B、DIV DX,2∙C、SAR DX,1∙D、SHL DX,1我的答案:C 此题得分:2.5分∙A、BX或CX∙B、CX或SI∙C、DX或SI∙D、SI或DI我的答案:D 此题得分:2.5分∙A、TEST AL,02H ∙B、OR AL,AL∙C、CMP AL,BL∙D、AND AL,BL我的答案:D 此题得分:2.5分∙A、CMP∙B、SUB∙C、AND∙D、MOV我的答案:D 此题得分:2.5分∙A、XCHG AX,DS∙B、XCHG BL,[BX]∙C、XCHG AL,OFH ∙D、XCHG[SI],[DI]我的答案:B 此题得分:2.5分∙A、ADD BH,01H ∙B、OR BH,01H∙C、XOR BH,01H ∙D、TEST BH,01H 我的答案:B 此题得分:2.5分∙A、NOT AL∙B、AND AL,0FH ∙C、XOR AL,0FH ∙D、OR AL,0FH我的答案:C 此题得分:2.5分∙A、SHR AX,1∙B、SHL AX,1∙C、ROL AX,1∙D、RCR AX,1我的答案:B 此题得分:2.5分39.(2.5分)ORG 0030HDA1 DB 0,‘0’,30HDW DA1数据为3000H字存储单元的偏移地址是:∙A、0030H∙B、0031H∙C、0032H∙D、0033H我的答案:A 此题得分:2.5分40.(2.5分)BUF DW 10H DUP(3 DUP(2,10H),3,5)上述语句汇编后,为变量BUF分配的存储单元字节数是:∙A、80H∙B、100H∙C、124∙D、192我的答案:B 此题得分:2.5分-------------------------------------------------分割-----------------------------------------------------第二次在线作业单选题 (共30道题)∙A、对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令∙B、对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令∙C、对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令∙D、对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令我的答案:C 此题得分:2.5分∙A、MOV AL,[BX+SI]∙B、JMP SHORT DONING∙C、DEC [BX]∙D、MUL CL我的答案:C 此题得分:2.5分∙A、外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内∙B、外循环初值应置外循环之内;内循环初值应置内循环之内∙C、内、外循环初值都应置外循环之外∙D、内、外循环初值都应置内循环之外,外循环之内我的答案:A 此题得分:2.5分∙A、ZF=0∙B、CF=0∙C、ZF=1∙D、CF=1我的答案:A 此题得分:2.5分∙A、ADD BUF1,BUF2∙B、JMP DWORD PTR DAT [BX]∙C、MOV AX,[BX+DI] NUM∙D、TEST AL,08H我的答案:A 此题得分:2.5分∙A、JMP NEXT∙B、JC NEXT∙C、INC BX∙D、SHL AX,1我的答案:D 此题得分:2.5分∙A、目标程序∙B、源程序∙C、可执行程序∙D、汇编程序我的答案:B 此题得分:2.5分∙A、XCHG AX,[BX][SI]∙B、MOV AX,[BX+SI]∙C、LEA AX,BX[SI]∙D、LEA AX,[BX][SI]我的答案:D 此题得分:2.5分∙A、1FFFH∙B、1998H∙C、2002H∙D、1FFEH我的答案:D 此题得分:2.5分∙A、把源操作数的符号位扩展到目的操作数中∙B、把AL中的符号位扩展到AH中∙C、把AH中的符号位扩展到AL中∙D、把AX中的符号位扩展到DX中我的答案:B 此题得分:2.5分∙A、CX=0,且ZF=0∙B、CX=0,或ZF=1∙C、CX≠0,且ZF=0∙D、CX≠0,或ZF=1我的答案:B 此题得分:2.5分∙A、MOV CS,AX∙B、MOV DS,AX∙C、MOV SS,AX∙D、MOV ES,AX我的答案:A 此题得分:2.5分∙A、MOV BX,VAR∙B、LDS BX,VAR∙C、LES BX,VAR∙D、LEA BX,VAR我的答案:D 此题得分:2.5分∙A、3211H∙B、320EH∙C、320FH∙D、3212H我的答案:B 此题得分:2.5分15.(2.5分)汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省∙A、名字项∙B、操作项∙C、操作数项∙D、注释项我的答案:B 此题得分:2.5分∙A、伪指令∙B、指令∙C、标号∙D、助记符我的答案:B 此题得分:2.5分∙A、1400H∙B、77F8H∙C、0000H∙D、0FFFFH我的答案:A 此题得分:2.5分∙A、XCHG AX,DS∙B、XCHG AX,[BX]∙C、XCHG AX,CSH∙D、XCHG[SI],[DX]我的答案:B 此题得分:2.5分19.(2.5分)设数据段有:DA1 DB XX ;是任一数据DA2 DB OFEH 下列两条指令:MOV DL,∙A、.0FFH或0FEH∙B、只能是0FEH∙C、只能是0FFH∙D、只能是01H我的答案:A 此题得分:2.5分20.(2.5分)ORG 100H NUM EQU 8042H DA1 DB 56H MOV BX,0FFSET DA1 上述程序段∙A、56H∙B、100H∙C、101H∙D、102H我的答案:B 此题得分:2.5分∙A、段内转移直接寻址∙B、段内转移间接寻址∙C、段间转移直接寻址∙D、段间转移间接寻址我的答案:C 此题得分:2.5分∙A、DIV 2∙B、DIV DX,2∙C、SAR DX,1∙D、SHL DX,1我的答案:C 此题得分:2.5分∙A、指令XOR AX,AX执行后,AX内容不变,但设置了标志位∙B、指令OR DX,1000H执行后,将DX最高位置1,其余各位置0∙C、指令AND AX,OFH执行后,分离出AL低四位∙D、NOT AX,执行后,将AX清0我的答案:C 此题得分:2.5分∙A、ROL CL,1 ROL CL,1∙B、MUL 4∙C、SHL CL,1 SHL CL,1∙D、MOV CL,2 SHL CL,CL我的答案:C 此题得分:2.5分∙A、MOV [DI],[SI]∙B、MOV [DX+DI],AL∙C、MOV WORD PTR [BX],0100H ∙D、MOV AL,BX我的答案:C 此题得分:2.5分∙A、ZF=1∙B、ZF=0∙C、SF=1∙D、SF=0我的答案:A 此题得分:2.5分∙A、MOV [BX+SI],BX∙B、MOV CL,[BP+DI]∙C、MOV CS,AX∙D、MOV DS,AX我的答案:C 此题得分:2.5分∙A、AL=57H,BL=24H∙B、AL=33H,BL=24H∙C、AL=57H,BL=33H∙D、AL=33H,BL=0我的答案:B 此题得分:2.5分∙A、0FFH∙B、80H∙C、00H∙D、0FEH我的答案:A 此题得分:2.5分30.(2.5分)已知BX=028AH,SI=0294H,(DS:051EH)=5432H。

汇编语言程序设计习题及答案

汇编语言程序设计习题及答案

汇编语言程序设计习题及答案汇编语言程序设计习题及答案汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。

虽然在现代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。

本文将介绍一些汇编语言程序设计的习题及其答案,帮助读者巩固和提升汇编语言编程能力。

一、基础习题1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。

答案:```assemblyMOV AL, [地址]INC ALMOV [地址], AL```2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄存器中。

答案:```assemblyMOV CX, 数组长度MOV BX, 数组首地址MOV AX, 0LOOP_START:ADD AX, [BX]ADD BX, 2LOOP LOOP_START```二、进阶习题1. 编写一个汇编程序,实现字符串的逆序输出。

答案:```assemblyMOV SI, 字符串首地址MOV DI, 字符串尾地址MOV CX, 字符串长度DEC CXREVERSE:MOV AL, [SI]MOV AH, [DI]MOV [DI], ALMOV [SI], AHINC SIDEC DILOOP REVERSE```2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。

答案:```assemblyMOV AX, 第一个数MOV BX, 第二个数MUL BX```三、挑战习题1. 编写一个汇编程序,实现一个简单的计算器,支持加法、减法、乘法和除法运算。

答案:```assemblyREAD_INPUT:; 读取用户输入; ...PARSE_INPUT:; 解析用户输入,获取操作数和运算符; ...CALCULATE:; 根据运算符进行相应的计算; ...DISPLAY_RESULT:; 将计算结果显示给用户; ...LOOP:; 循环执行计算器程序; ...```2. 编写一个汇编程序,实现一个简单的迷宫游戏,玩家通过键盘控制角色在迷宫中移动,并找到出口。

汇编语言程序设计课后习题解答宋人杰版

汇编语言程序设计课后习题解答宋人杰版

汇编语言程序设计课后习题解答宋人杰版第1章汇编语言基础知识1.简述汇编语言源程序、汇编程序、和目标程序的关系。

答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。

2. 简述汇编语言的优缺点。

答:(1) 汇编语言的优点:①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。

.②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

③可与高级语言配合使用,应用十分广泛。

(2) 汇编语言的缺点:①通用性和可移植性较差②相对于高级语言来说较繁锁、易出错、不够直观。

3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少?答:134. 1KB的存储器有多少个存储单元?答:1024个字节。

5. 指令中的逻辑地址由哪两部分组成?答:指令中的逻辑地址由段基址和偏移量组成。

6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。

(1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF答: (1) 13080H(2) 1A3F3H(3) 1A3F3H(4) 245EFH7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 0611 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据的值。

答:字节型数据:11H字型数据:0A311H双字型数据:0113A311H8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为多少?若段内偏移地址为2228H,则段基地址为多少?答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH9. 在实模式环境中,一个段最长不能超过多少字节?答:64KB10. 实模式可寻址的内存范围是多少?答:1MB第2章汇编语言源程序格式1.请解释变量和标号的含义,两者有何区别?答:标号代表一条指令所在单元的地址,在代码段中定义;变量是存放数据的存储单元的地址符号名,在除代码段以外的其他段中定义。

北语15春《汇编语言》作业1及答案1

北语15春《汇编语言》作业1及答案1
A.从存储单元读出一个字送AX
B、从存储单元读出一个字节送AX
C、将AX中的一个字节写入存储单元
D、讲AX中的一个字写入存储单元
标准答案:A
学员答案:A
此题得分:
题号:3题型:单项选择题〔请在以下几个选项中选择唯一正确答案〕此题分数:3.57
内容:
图形:
A.(A)
B、(B)
C、(C)
D、(D)
标准答案:C
内容:
一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是( )。
A、12CSBH
B、12B6BH
C、12C59H
D、12BFEH
标准答案:C
学员答案:C
此题得分:
题号:10题型:单项选择题〔请在以下几个选项中选择唯一正确答案〕此题分数:3.57
内容:
图形:
A.(A)
B、(B)
C、(C)
D、(D)
标准答案:C
学员答案:C
此题得分:
题号:11题型:单项选择题〔请在以下几个选项中选择唯一正确答案〕此题分数:3.57
内容:
图形:
A.(A)
B、(B)
C、(C)
D、(D)
题号:1题型:单项选择题〔请在以下几个选项中选择唯一正确答案〕此题分数:3.57
内容:
图形:
A.(A)
B、(B)
C、(C)
D、(D)
标准答案:C
学员答案:C
此题得分:
题号:2题型:单项选择题〔请在以下几个选项中选择唯一正确答案〕此题分数:5.36
内容:
指令MOV AX,COUNT[BX]完成的操作是( )。
内容:

汇编语言课后习题及答案 按章节 超全面

汇编语言课后习题及答案 按章节 超全面

`00第一章课外练习题一、单项选择题:1.从键盘输入的字符,在计算机内存储的是它的(A)(A)二进制编码(B)四进制编码(C)八进制编码(D)十六进制编码2.6位无符号二进制数能表示的最大十进制数是(B)。

(A)64 (B)63 (C)32 (D)31 3.十进制数269变换为十六进制数是(C)。

(A)10B (B)10C (C)10D (D)10E 4.8位的微型计算机系统是以16位来表示地址,则该微机系统有(C)个地址空间。

(A)255 (B)65535 (C)65536 (D)1048576 5.8位有符号二进制数能表示的最大十进制数是(D)。

(A)256 (B)255 (C)128 (D)127 6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)。

(A)无符号十进制数136 (B)带符号十进制数-120(C)压缩型BCD十进制数88 (D)8位二进制数-8的补码表示7.有一个数值152,它与十六进制数6A相等,那么该数值是(B)。

(A)二进制数(B)八进制数(C)十进制数(D)四进制数8.7位ASCII总共可表示(C)个符号。

(A)256 (B)127 (C)128 (D)255 9.4B的字长是(C)。

(A)8位(B)16位(C)32位(D)64位二、判断题(判断每题正误,对的在题后括号内划“√”,错的划“×”)1.字节通常用英文单词“Bit”来表示(×)。

2.目前广泛使用的Pentium计算机其字长为5个字节(×)。

3.存储器中将8个相邻的二进制位作为一个单位,这种单位称为字节(√)。

4.微型计算机的字长并不一定是字节的整数倍(×)。

三、填空题1.8位有/无符号整数的表示范围写成16进制形式为(80~~7F)/(00~~FF)。

2.己知:计算机中有一个“01100001”编码,如果把它看作是无符号数,它是十进制什么数(97);如果认为它是BCD,则表示(01100001)BCD;认为它是某个ASCII,则代表(a)字符。

汇编语言test1

汇编语言test1

汇编语⾔test1汇编语⾔1⼀、简答题1.下⾯程序段执⾏后,寄存器BX的值发⽣什么变化?(不考虑溢出)SAL BX,1PUSH BXMOV CL,4SAL BX,CLPOP CXSUB BX,CX乘以 30d2.对于这样的程序段:CMP AX,BXJGE NEXTXCHG AX,BXNEXT: CMP AX,CXJGE DONEXCHG AX,CXDONE: ┆试回答:①上述程序执⾏后,原有AX,BX,CX中最⼤数存放在哪个寄存器?AX②这三个数是带符号数还是⽆符号数?G,所以是有符号数3.已知寄存器(DS)=1000H,(SS)=1110H,(BX)=100H,(BP)=100H,(SI)=0002H,(SP)=100H;内存单元中的(10100H)=12H,(10101H)=34H,(10102H)=56H,(10103H)=78H,(11200H)=0ABH,(11201H)=0CDH,(11202H)=0EFH,(11203H)=0D3H。

试说明下列各指令执⾏完后AX寄存器的内容。

指令(写个思路,其他⾃⼰搞) AX的内容① MOV AX,1200H ① 1200(直接给)② MOV AX,BX ② 0100h③ MOV AX,[1200H] ds:1200(10000+1200=11200)③所以读(11201和11200内容)0CDABH④ MOV AX,[B P] BP:找SS:bp 11100+100=11200同理读11201和11200内容⑤ MOV AX,1100H[BX] [BX]:找 ds:1100+bx ⑤⑥ MOV AX,[BX][SI] ds:bx+si ⑥⑦ MOV AX,1100H[BX][SI] ds:bx+si+1100 ⑦⑧ POP AX ss:sp⑧4. A DB 0F8HB DB 3 DUP(?)┇LEA DI,BMOV CX,3MOV AL,ALOP:SAR AL,1MOV [DI],ALINC DILOOP LOPOFCH OFEH OFFH上述程序段运⾏后,从B单元开始依次存放的数据是多少?5.执⾏下⾯的程序段后,AX和BX寄存器的内容各是多少?MOV AX,1MOV BX,23MOV SI,10XCHG AX,BXMUL SIADD BX,AXAX=230 BX=231⼆、程序填空题下⾯是⼀个.com⽂件格式的程序,完成从键盘上输⼊⼀个4位以内的16进制数,并以10进制形式显⽰出来。

汇编语言试题及答案(1).

汇编语言试题及答案(1).

一,单项选择题(每小题1分,共20分1.指令JMP FAR PTR DONE属于(A.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址2.下列叙述正确的是(A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP S指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM P指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是(A.12C5BHB.12B6BHC.12C5AHD.12BFEH4.在下列指令的表示中,不正确的是(A.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL5.在进行二重循环程序设计时,下列描述正确的是(A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内C.内、外循环初值都应置外循环之外D.内、外循环初值都应置内循环之外,外循环之内6.条件转移指令JNE的测试条件为(A.ZF=0B.CF=0C.ZF=1D.CF=17.8086CPU在基址加变址的寻址方式中,变址寄存器可以为(A.BX或CXB.CX或SIC.DX或SID.SI或DI8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(中。

A.数据段中偏移量为3236H的字节B.附加段中偏移量为3234H的字节C.数据段中偏移量为3234H的字节D.附加段中偏移量为3236H的字节9.执行如下程序:(MOV AX,0MOV BX,1MOV CX,100A:ADD AX,BXINC BXLOOP AHLT执行后(BX=(A.99B.100C.101D.10210.上题的程序执行后(AX=(A.5000B.5050C.5100D.515011.对于下列程序段:(AGAIN:MOV AL,[SI]MOV ES:[DI],ALINC SIINC DILOOP AGAIN也可用______指令完成同样的功能。

《汇编语言》作业及答案

《汇编语言》作业及答案

《汇编语言》作业及答案习题一1.在计算机内部,计算机能够直接执行的程序语言是。

A.汇编语言B.C++语言C.机器语言D.高级语言2.在堆栈段中,存放栈顶地址的寄存器是。

A.IPB.SPC.BXD.BP3.指令指针寄存器IP用来存放代码段中的偏移地址。

在程序运行的过程中,它始终指向。

A.下一条指令的首地址B.下一条指令的地址C.当前指令的首地址D.当前指令的地址4.编译程序的功能是。

A.检查源程序中的语法错误和逻辑错误B.将源程序编译成目标程序C.改正源程序中的语法错误D.将高级语言源程序翻译成汇编语言源程序5.用户为了解决自己的问题,用汇编语言所编写的程序,称为。

A.目标程序B.源程序C.可执行程序D.汇编程序6.计算机中用来存储程序、数据等信息的记忆装置是。

A.控制器B.运算器C.CPUD.存储器7.在宏汇编中,源程序必须通过____编译_______生成目标代码,然后用连接程序将其转化为可执行文件,该文件可在系统中运行。

习题二1当SS=3000H,SP=0100H时,执行PUSH AX指令后,堆栈顶部的物理地址是()A.30100HB.30098HC.30102HD.300FEH2设10000010B分别以原码、补码及反码表示时,则对应的十进制数依次是()A.-82、-126、-2B.-2、-125、126C.-2、-126、-125D.-82、-125、1253标志寄存器中属于控制标志位的是()A.DF,OF,SFB.DF,IF,TFC.OF,CF,PFD.AF,OF,SF4设(AX)=4544H,在执行指令”SUB AH,AL”之后,()A.CF=0,OF=0B.CF=0,OF=1C.CF=1,OF=0D.CF=1,OF=15若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX 的内容为______19____________。

汇编语言课后习题答案

汇编语言课后习题答案

汇编语⾔课后习题答案2.1已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12345678H,[21200H]~[21203H]依次存放2A4C B765H,说明下列每条指令执⾏完后AX寄存器的内容。

(1)mov ax,1200h(2)mov ax,bx(3)mov ax,[1200h](4)mov ax,[bx](5)mov ax,[bx+1100h](6)mov ax,[bx+si](7)mov ax,[bx][si+1100h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH;偏移地址=bx=0100h(4)AX=3412H;偏移地址=bx=0100h(5)AX=4C2AH;偏移地址=bx+1100h=1200h(6)AX=7856H;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl(2)mov ip,ax(3)mov es,1234h(4)mov es,ds(5)mov al,300(6)mov[sp],ax(7)mov ax,bx+di(8)mov20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁⽌⽤户访问(3)⽴即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)⽬的操作数应为[SI](7)源操作数应为[BX+DI](8)⽴即数不能作⽬的操作数〔习题2.5〕已知SS=2200H、SP=00B0H,画图说明执⾏下⾯指令序列时,堆栈区和SP的内容如何变化?mov ax,8057h push axmov ax,0f79hpush axpop bxpop[bx]〔解答〕mov ax,8057hpush axmov ax,0f79hpush axpop bx;bx=0f79hpop[bx];DS:[0f79h]=8057h〔习题2.6〕给出下列各条指令执⾏后AL值,以及CF、ZF、SF、OF和PF的状态:mov al,89hadd al,aladd al,9dhcmp al,0bchsub al,aldec alinc al〔解答〕mov al,89h;AL=89h CF ZF SF OF PFadd al,al;AL=12h10011;10001001+10001001100010010add al,9dh;AL=0afh00101;00010010+1001110110101111cmp al,0bch;AL=0afh10101;10101111-10111100*01000011sub al,al;AL=00h01001dec al;AL=0ffh00101 ;00000000-00000001*11111111inc al;AL=00h01001 ;11111111+00000001*11111111必考:〔习题2.10〕指出下列指令的错误:(1)xchg[si],30h (2)pop cs(3)sub[si],[di](4)push ah(5)adc ax,ds(6)add[si],80h(7)in al,3fch(8)out dx,ah〔解答〕(1)xchg的操作数不能是⽴即数(2)不应对CS直接赋值(3)两个操作数不能都是存储单元(4)堆栈的操作数不能是字节量(5)adc的操作数不能是段寄存器(6)没有确定是字节还是字操作(7)in不⽀持超过FFH的直接寻址(8)out只能以AL/AX为源操作数〔习题2.11〕给出下列各条指令执⾏后的结果,以及状态标志CF、OF、SF、ZF、PF的状态。

微型计算机汇编语言程序设计课后题答案

微型计算机汇编语言程序设计课后题答案

微型计算机汇编语言程序设计课后题答案习题 11.1 什么是汇编语言?为什么要学习汇编语言?【解】:汇编语言是机器语言的符号表示形式。

汇编语言将机器语言指令和地址符号化,程序员只需要记住符号名并用其编程,汇编器负责把汇编程序翻译成机器指令和正确的地址数值。

大多数程序应该也可以用高级语言编写,但是在某些情况下汇编语言也是必不可少的。

汇编语言可以访问计算机的所有指令,可以利用计算机的所有特性,而高级语言就没有这样的能力,高级语言能做的事情汇编语言都能做,而汇编语言能做的高级语言不一定能做到。

学习汇编语言的原因主要有两个:性能和对计算机的完全控制。

一般而言,汇编语言具有如下特点:执行速度快;程序短小;可以直接控制硬件;可以方便地编译;辅助计算机工作者掌握计算机体系结构。

1.2 把下列十进制数转换成二进制数、八进制数、十六进制数:① 6.25 ② 5.75 ③ 0.875 ④ 254【解】:① 6.25D = (6.25)10 = (110.01)2= (110.010)2 = (6.2)8= (0110.0100)2 = (6.4)16② 5.75 D = (5.75)10 = (101.11)2= (101.110)2 = (5.6)8= (0101.1100)2 = (5.C)16③ 0.875 D = (0.875)10 = (0.111)2= (0.111)2 = (0.7)8= (0.1110)2 = (0.E)16④ 254 D = (254)10 = (1111 1110)2= (011 111 110)2 = (376)8= (1111 1110)2 = (FE)161.3 把下列二进制数转换成十进制数① 1101.01 ② 111001.00011 ③ 111.001 ④ 1010.1【解】:① 1101.01B=(1101.01)2 =1×23 + 1×22+ 0×21+ 1×20+ 0×2-1+ 1×2-2=8+4+0+1+0+0.25=13.25D= (13.25)10② 111001.00011B=(111001.00011)2=1×25 + 1×24+ 1×23+ 0×22+ 0×21+ 1×20+ 0×2-1+ 0×2-2+ 0×2-3+ 1×2-4+ 0×2-5=32+16+8+0+0+1+0+0+0+0.0625+0.03125=57.093725D= (57.093725)10③ 111.001B =(111.001)2 =1×22 + 1×21+ 1×20+ 0×2-1+ 0×2-2+ 1×2-3=4+2+1+0+0.25+0.125=7.125D= (7.125)103 210-1=8+0+2+0+0.5=10.5D= (10.5)101.4 把下列八进制数转换成十进制数① 776.07 ② 72.73 ③ 235.6 ④ 123.45 【解】:① 776.07Q =(776.07)8 =7×82 + 7×81 + 6×80 + 0×8-1 + 7×8-2=448 + 56 + 6 + 0 + 0.109375=510.109375D= (510.109375)10② 72.73Q =(72.73)8 =7×8+ 2×80 + 7×8-1 + 3×8-2=56 + 2 + 0.875 + 0.046875=58.921875D= (58.921875)10③ 235.6Q =(235.6)8 =2×82 + 3×81 + 5×80 + 6×8-1=128 + 24 + 5 + 0 + 0.75=157.75D= (157.75)10④ 123.45Q =(123.45)8 =1×82 + 2×81 + 3×80 + 4×8-1 + 5×8-2=64 + 16 + 3 + 0.5 + 0.078125=83.578125D= (83.578125)101.5 把下列十六进制数转换成十进制数① A6.DC ② 9AC.BD ③ B4A.8D ④ 1AC.0A 【解】:①A6.DC H =(A6.DC)16 =A×161 + 6×160 + D×16-1 + C×16-2=10×161 + 6×160 + 13×16-1 + 12×16-2=160 + 6 + 0.8125 + 0.046875=166.859375D= (166.859375)10②9AC.BD H =(9AC.BD)16 =9×162 + A×161 + C×160 + B×16-1 + D×16-2=9×162 + 10×161 + 12×160 + 11×16-1 + 13×16-2=2304 + 160 + 12 + 0.6875 + 0.05078125=2476.73828125D= (2476.73828125)10③ B4A.8D H =(B4A.8D)16 =B×162 + 4×161 + A×160 + 8×16-1 + D×16-2=11×162 + 4×161 + 10×160 + 8×16-1 + 13×16-2=2816 + 64 + 10 + 0.5 + 0.05078125=2890.55078125D= (2890.55078125)10④ 1AC.0A H =(1AC.0A)16 =1×162 + A×161 + C×160 + 0×16-1 + A×16-2=1×162 + 10×161 + 12×160 + 0×16-1 + 10×16-2=256 + 160 + 12 + 0 + 0.0390625=428.0390625D= (428.0390625)101.6 把下列英文单词转换成ASCII编码的字符串① Water ② Great ③ Good ④ After【解】①Water对应的ASCII码:57H61H74H65H72H③Good对应的ASCII码:47H6FH6FH64H④After对应的ASCII码:41H66H74H65H72H1.7 回车键、空格键的ASCII代码及其功能是什么?【解】:回车键CR,编码值为0EH。

东大14秋学期《汇编语言程序设计》在线作业1答案

东大14秋学期《汇编语言程序设计》在线作业1答案

14秋学期《汇编语言程序设计》在线作业1单选题判断题一、单选题(共10 道试题,共50 分。

)1. 已知POP BX执行前SP=100, 执行后SP的内容为( )A. 102HB. 98C. 102D. 0FEH-----------------选择:C2. 8088 CPU中所用作寄存器间址的寄存器是()。

A. BX,SI,DIB. BX,SP,SI,DIC. BX,IP,SI,DID. BX,DX,SI,DI-----------------选择:A3. 多重中断服务程序中保存现场后,要有STI指令,目的是()。

A. 允许响应不可屏蔽中断B. 允许CPU响应低级中断C. 允许CPU响应高级中断D. 允许响应同级中断-----------------选择:C4. 已知AL=9DH,则DAA执行后,AL的值为:A. 9DHB. A3HC. 03HD. 93H-----------------选择:C5. 一个字所能表示的带符号整数数据范围为()。

A. 0~65536B. 0~65535C. -32768~32767D. -32767~32767-----------------选择:C6. 下面是将某存储区清0的宏定义, 现若要将BUFF开始的100个存储单元清0的宏调用格式为()。

CLEARMACRODIR,DST,CNT DIR LEA DI,DST MOV CX,CNT XOR AL,AL REP STOSB ENDMA. CLEARBUFF, 100B. "CLEARSTD, BUFF, 100"C. "CLEARCLD, BUFF, 100 "D. "CLEARBUFF, CLD, 100"。

汇编语言的试题及答案

汇编语言的试题及答案

汇编语言的试题及答案1. 简述汇编语言的特点。

- 汇编语言是一种低级语言,它非常接近于计算机硬件。

- 汇编语言的语句通常与机器语言指令一一对应。

- 它允许程序员直接控制硬件资源。

- 汇编语言的程序需要通过汇编器转换成机器语言。

2. 解释以下汇编指令的功能:- `MOV AX, BX`:将寄存器BX的值复制到寄存器AX。

- `ADD AX, 1000H`:将AX寄存器的值加上十六进制数1000H。

- `JMP 0100H`:跳转到内存地址0100H处执行指令。

3. 汇编语言中,如何表示一个立即数?- 在汇编语言中,立即数通常直接跟在指令后面,并用符号`#`(在某些汇编器中)或直接写值来表示。

4. 请写出一个简单的汇编程序,实现将两个数相加并存储结果。

- `MOV AX, 5`;将数值5加载到寄存器AX。

- `MOV BX, 3`;将数值3加载到寄存器BX。

- `ADD AX, BX`;将BX寄存器的值加到AX寄存器的值上。

- `MOV CX, AX`;将AX寄存器的值(即结果)存储到CX寄存器。

5. 在汇编语言中,如何实现循环结构?- 使用`LOOP`指令可以创建循环结构。

`LOOP`指令会将计数寄存器(通常是CX)的值减1,并且如果结果不为0,则跳转到指定的标签。

- 示例:```MOV CX, 10LOOP_START:; 循环体代码LOOP LOOP_START```6. 汇编语言中,如何实现子程序的调用和返回?- 使用`CALL`指令调用子程序,使用`RET`指令返回。

- 示例:```SUBROUTINE:; 子程序代码RETMAIN:CALL SUBROUTINE; 主程序代码```7. 请解释汇编语言中堆栈的作用。

- 堆栈用于存储临时数据,如函数调用时的参数和返回地址。

- 堆栈遵循后进先出(LIFO)的原则。

- 常用的堆栈操作指令包括`PUSH`(将数据压入堆栈)和`POP`(从堆栈弹出数据)。

汇编语言第二次离线作业答案

汇编语言第二次离线作业答案

2017-2018汇编语言第二次离线作业答案1、判断下列程序段跳转的条件(1)XOR AX,1E1EHJE EQUAL(2)TEST AL,10000001BJNZ THERE(3)CMP CX,64HJB THERE点评:本题目考查ZF,ZF=1比较结果等于0或相等转JZ/JEZF=0比较结果不等于0或不相等转JNZ/JNECF=1 JC/JB/JNAE:进位,低于,不高于等于,用于无符号数比较(1)XOR AX,1E1EH ;当AX与1E1EH异或后JE EQUAL;XOR指令两个操作数相应位相同该位为0,不同该位为1,该指令用于求反某些位,而不影响其他位。

XOR指令经常给寄存器清0同时使得CF也清零。

当AX=1E1EH时AX与1E1EH异或后为0, 跳转至标号EQUAL处(2)TEST AL,10000001BJNZ THERE;测试指令TEST进行与操作但不回送,当AL的D0或D7至少有一位为1(一个1或两个1)时操作结果非0,ZF=0,转标号THERE处,AL的D0和D7同时为0操作结果为则ZF=1转JNZ THERE 的下一条指令执行(3)CMP CX,64HJB THERE;根据CX-64H操作结果设置标志位(但是不回送CX),若CX(无符号数)<64H则转向标号THERE执行,否则即(CX>=64H) 执行下一条指令2、假设AX和SI存放的是有符号数,DX和DI存放的是无符号数,请用比较指令和条件转移指令实现以下判断:(1)若DX > DI,转到ABOVE执行;(2)若AX > SI,转到GREATER执行;(3)若CX = 0,转到ZERO执行;(4)若AX-SI产生溢出,转到OVERFLOW执行;(5)若SI≤A X,转到LESS_EQ执行;(6)若DI≤DX,转到BELOW_EQ执行。

无符号数比较时:低于等于JBE/JNA CF=1或ZF=1不低于等于JNBE/JA CF=0且ZF=0低于、不高于等于:JC/JB/JNAE,CF=1不低于,高于等于:JNC/JNB/JAE CF=0有符号数比较时:小于,JL/JNGE, SF<>OF不小于JNL/JGE SF=OF小于等于JLE/JNG, ZF<>OF或ZF=1不小于等于JNLE/JG SF=OF且ZF=0(1)若DX > DI,转到ABOVE执行DX和DI存放的是无符号数CMP DX,DI ;根据DX-DI设置标志位CF,ZF,若DX > DI则CF=0且ZF=0JA ABOVE ;CF=0且ZF=0,则转向标号ABOVE执行(=JNBE ABOVE )(2)若AX > SI,转到GREATER执行AX和SI存放的是有符号数CMP AX,SI ;根据AX-SI设置标志位,不回送。

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

离线作业1答案及点评
1.10、数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符?
请看教科书的P7的标准ASCII码及其字符
答案:数码0~9:30H~39H, 大写字母A~Z:41H~5AH, a~z:61H~7AH
0DH:回车,0AH:换行
1.11、计算机中有一个“0110 0001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符?
无符号数:61H=97十六进制数转换为十进制数方法6乘16加1=97
BCD码:61四位二进制表示一位BCD码
ASCII码:61H为小写字母a可以查ASCII表
答案:无符号数十进制:97,BCD码:61,ASCII码:a
1.19、什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地址表达:
(1)FFFFH:0 (2)40H:17H (3)2000H:4500H (4)B821H:4567H
答案:•对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H~FFFFFH
•在8086内部和用户编程时,采用的段基地址: 段内偏移地址形式称为
逻辑地址•将逻辑地址中的段地址左移4位,加上偏移地址就得到20位
物理地址
(1)FFFFH:0=FFFF0H
(2)40H:17H=00417H
(3)2000H:4500H=24500H
(4)B821H:4567H=BC777H (不要算错)
1.20、8086有哪4种逻辑段,各种逻辑段分别是什么用途?
答案:•代码段(Code Segment)用来存放程序的指令序列。

处理器利用CS : IP 取得下一条要执行的指令
•堆栈段(Stack Segment)确定堆栈所在的主存区域。

处理器利用SS : SP 操作堆栈中的数据
•数据段(Data Segment)存放当前运行程序所用的数据。

处理器利用DS : EA存取数据段中的数据
•附加段(Extra Segment)是附加的数据段,也用于数据的保存。

处理器利用ES : EA存取数据段中的数据
1.24、说明下列指令中源操作数的寻址方式?如果BX=2000H,DI=40H,给出DX的值或有效地址EA的值。

(1)MOV DX,[1234H]
(2)MOV DX,1234H
(3)MOV DX,BX
(4)MOV DX,[BX]
(5)MOV DX,[BX+1234H]
(6)MOV DX,[BX+DI]
(7)MOV DX,[BX+DI+1234H]
(1)直接寻址[XXXXH],有效地址EA=1234H
(2)立即数寻址,操作数1234H,DX=1234H
(3)寄存器寻址,操作数在DX中,数据在DX=2000H
(4)间接寻址,有效地址在BX中,EA=2000H
(5)相对寻址,有效地址等于BX加1234H,EA=3234H
(6)基址变址寻址,有效地址等于BX加DI,EA=2040H
(7)相对基址变址寻址,有效地址等于BX加DI加1234H, EA=3274H
2.1、已知DS =2000H、BX = 0100H、SI = 0002H,存储单元[20100H] ~ [20103H]依次存放12 34 56 78H,[21200H] ~ [21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。

(1)MOV AX,1200H
(2)MOV AX,BX
(3)MOV AX,[1200H]
(4)MOV AX,[BX]
(5)MOV AX,[BX+1100H]
(6)MOV AX,[BX+SI]
(7)MOV AX,[BX][SI+1100H]
(1)操作数1200H,AX=1200H
(2)操作数在BX中,AX=BX=0100H
(3)有效地址1200H,物理地址DS*16+1200H=20000H+1200H=21200H,AX=4C2AH
存储内容21200H=2AH, 21201H=4CH,AH对应高字节4CH,AL对应低字节2AH (4)有效地址在BX中,为0100H,物理地址=2000H*16+0100H=20100H, AX =3412H
操作数在20100H,字数据为3412H,AX=3412H
(5)有效地址在BX+1100H中,为1200H,物理地址=2000H*16+1200H=21200H, 21200H内容为字数据4C2AH,AX=4C2AH
(6)有效地址在BX+SI中,为0102H,物理地址=2000H*16+0102H=20102H, 20102H内容为字数据7856H,AX=7856H
(7)有效地址在BX+SI+1100H中,为1202H,物理地址=2000H*16+
0102H=21202H, 21202H内容为字数据65B7H,AX=65B7H
2.6、给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态:
1.MOV AL,89H ;AL=89H,CF,ZF,SF,OF,PF
2.ADD AL,AL ;AL=89H+89H=12H,有进位故CF=1,ZF=0,SF=0,负数相加和为正数,溢出OF=1,1的个数2偶数PF=1
3.ADD AL,9DH ;AL=9DH+12H=AFH置标志位CF=0,ZF=0,最高位1,SF=1,溢出OF=0,1的个数6偶数PF=1
4.CMP AL,0BCH ;AFH-0BCH=F3H置标志位有借位CF=1,ZF=0,最高位
1SF=1,溢出OF=0,1的个数6偶数PF=1
5.SUB AL,AL ;AL-AL=0 置标志位CF=0,结果0,ZF=1,SF=0,溢出OF=0,1的个数0偶数PF=1
6.DEC AL;0—1=FFH.系统规定DEC指令不影响CF影响其他状态标志,故CF不变仍为0,;结果非0,ZF=0,最高位1故SF=1,OF=0,,1的个数8偶数PF=1
7.INC AL;FFH+1=00H有进位,但是INC指令不影响进位标志,影响其他状态标志;CF=0,结果0故ZF=1,最高位0故SF=0,无溢出故OF=0,1的个数0偶数故PF=1
1.AL=89H CF ZF SF OF PF
2.AL=12H 1 0 0 1 1
3.AL=0AFH 0 0 1 0 1
4.AL=0AFH 1 0 1 0 1
5.AL=00H 0 1 0 0 1
6.AL=0FFH 0 0 1 0 1
7.AL=00H 0 1 0 0 1
2.8、请分别用一条汇编语言指令完成如下功能:
(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。

(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。

(3)用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX 寄存器的内容相加,并把结果送回存储器中。

(4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。

(5)把数0A0H与AL寄存器的内容相加,并把结果送回AL中。

(1)ADD DX,BX ;DX是目的寄存器
(2)ADD AL,[BX+SI] ;AL是目的寄存器,源操作数的地址在BX+SI中(3)ADD [BX+0B2H],CX;目的地址在寄存器相对寻址方式BX+0B2H中,(4)ADD WORD PTR [0520H],3412H ;目的地址直接寻址方式0520H中,为明确0520H为字地址故用伪指令类型操作符PTR进行字类型WORD的设置(5)ADD AL,0A0H;结果操作数为AL,源操作数A0H字母开头加前导0。

相关文档
最新文档