当前位置:文档之家› 习题课

习题课


• • • • • • • • • • • • • • • •
SEGA DAX: DAY MAX SEGA CSEG
XGY: ZERO
DAX DW 200 SEGMENT DAY DW 1000H DW 200 DB 1000H DB 0,0 ENDS START: MOV AX,SEGA SEGMENT MOV DS,AX ASSUME CS:CSEG MOV AX,DAY ASSUME DS:SEGA JA XGY CMP AX,DAX JG XGY MOV AX,DAX JZ ZERO MOV WORD PTR MAX,AX MOV AX,DAY JMP EXIT MOV MAX,AX ZERO: MOV MAX,0 HLT EXIT: HLT ENDS END START
6.9下列程序有错,找出.已知程序欲完成的功能是从两个无符 号数中选出较大者送入MAX单元,若两者相同,将MAX清0. • SEGA SEGMENT • DAX: DW 200 • DAY DB 1000H • MAX DB 0,0 • SEGA ENDS • CSEG SEGMENT • ASSUME CS:CSEG • ASSUME DS:SEGA • CMP AX,DAX • JG XGY • JZ ZERO • MOV AX,DAY • XGY: MOV MAX,AX • HLT • ENDS • END START
CSEG ENDS
6.12 下面一段信息是用DEBUG命令的结果,填充空白 处的内容 C>DEBUG EXAM.EXE - R AX=023A BX=0000 CX=0045 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=0913 SS=0913 CS=0913 IP=0000…… - E DS:0 0913:0000 05 96 46 57 00 45 - U3 0913:0003 BE 00 00 MOV SI,00 0913:0006 8A 04 MOV AL,[SI] 0913:0008 02 44 01 ADD AL,[SI+1]
DSEG ADR FLAG DSEG CSEG START:
ABB3: ABB1: ABB2: EXIT:
CSEG
SEGMENT DW 1234H DB ? ENDS SEGMENT ASSUME CS:CSEG,DS:DSEG MOV AX,DSEG MOV DS,AX MOV AX,ADR AND AL,AL JNP ABB1 AND AH,AH JNP ABB2 MOV FLAG,1 JMP EXIT AND AH,AH JNP ABB3 MOV FLAG,0 MOV AH,4CH INT 21H ENDS END START
DSEG ADRX ADRY FLAG DSEG CSEG START:
SAME1:
SAME2:
DIF: EXIT: CSEG
SEGMENT DB 01 DB 02 DB ? ENDS SEGMENT ASSUME CS:CSEG,DS:DSEG MOV AX,DSEG MOV DS,AX MOV AL,ADRX MOV BL,ADRY AND AL,AL JS SAME1 AND BL,BL JS SAME2 MOV FLAG,0 JMP EXIT AND BL,BL JS DIF MOV FLAG,0FFH JMP EXIT MOV FLAG,1 MOV AH,4CH INT 21H ENDS END START
0913:000B 79 06 JNS 13 0913:000D F6 D8 NEG AL 0913:000F 88 44 02 MOV [SI+2],AL 0913:00012 CC INT 3 0913:00013 - G=3 13 AX=0213 BX=0000 SI=0000 - D DS:0 7 0913:0000 96 57 13 BE 00 00 8A 04
6.4 已知X为字数据,存放在ADR单元,若X中含有偶数 个1,将FLAG单元置1,否则FLAG单元置0.
开始 AX=ADR
AL偶1?
Y Y
N
AH偶1? AH偶1?
N Y
N
FLAG置1
FLAG置1
FLAG置0
结束
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
0913: 0000
0001 0002
05
46 00
←96
←57 ←45
6.13 下面一段信息是用DEBUG命令的结果,填充空白 处的内容 C>DEBUG EXAM.EXE - U5 0933:0005 BB 01 00 MOV BX,0001 0933:0008 B0 24 MOV AL,24 0933:000A 74 12 JZ 001E 0933:000C 8D 1E 06 01 LEA BX,[0106] 0933:0010 8A 07 MOV AX,[BX] 0933:0012 00 47 01 ADD [BX+01],AL 0933:0015 70 07 JO 00IE 0933:0017 28 47 02 SUB [BX+02],AL 0933:001A F6 E1 MUL CL
6.3 已知两个带符号数X,Y分别存放在ADRX, ADRY 单元,若两数同时为正,将FLAG单元置0,若同时为负,将 FLAG单元置1,否则FLAG单元置全1.
开始 AL=ADRX,BL=ADRY
AL是正数?
Y Y
N
BL是正数? BL是正数?
N Y
N
FLAG=0
FLAG=1
FLAG置全1
结束
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.01C 73 03 JNB 0021 0933:001E 88 47 02 MOV [BX+2],AL 0933:0021 89 47 02 MOV [BX+2],AX 0933:0024 F6 E1 INT 3 0933:0025 …….. R AX=1234 BX=0123 DX=01FF DX=0100 SP=FFFE BP=0000 SI=0000 DI=1200 DS=0923 ES=0923 SS=0923 CS=0923 IP=000C G 1A 21 AX=00FF BX=0106 D 120 124 0923:120 02 89 47 02 CC
相关主题