离线作业1答案及点评
1.10、数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh0ah对应的是什么字符?
请看教科书的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十六进制数转换为十进制数方法6161=97
BCD:61四位二进制表示一位BCD
ASCII:61H为小写字母a可以查ASCII
答案:无符号数十进制:97,BCD:61,ASCII:a
1.19、什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地址表达:
1FFFFH:0 240H:17H 32000H:4500H 4B821H:4567H
答案•对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000HFFFFFH
•在8086内部和用户编程时,采用的段基地址 : 段内偏移地址形式称为逻辑地址•将逻辑地址中的段地址左移4位,加上偏移地址就得到20位物理地址
(1)FFFFH:0FFFF0H
(2)40H:17H00417H
(3)2000H:4500H24500H
(4)B821H:4567HBC777H (不要算错)
1.208086有哪4种逻辑段,各种逻辑段分别是什么用途?
答案•代码段(Code Segment)用来存放程序的指令序列。处理器利用CS : IP取得下一条要执行的指令
•堆栈段(Stack Segment)确定堆栈所在的主存区域。处理器利用SS : SP操作堆栈中的数据
•数据段(Data Segment)存放当前运行程序所用的数据。处理器利用DS : EA存取数据段中的数据
•附加段(Extra Segment)是附加的数据段,也用于数据的保存。处理器利用ES : EA存取数据段中的数据
1.24、说明下列指令中源操作数的寻址方式?如果BX=2000HDI=40Ha的ascii的编码是多少,给出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],有效地址EA1234H
2)立即数寻址,操作数1234HDX1234H
3)寄存器寻址,操作数在DX中,数据在DX2000H
4)间接寻址,有效地址在BX中,EA2000H
5)相对寻址,有效地址等于BX1234H,EA3234H
6)基址变址寻址,有效地址等于BXDI,EA2040H
7)相对基址变址寻址,有效地址等于BXDI1234H, EA3274H
2.1、已知DS 2000HBX = 0100HSI = 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,AX1200H
2)操作数在BX中,AXBX=0100H
3)有效地址1200H,物理地址DS*16+1200H=20000H+1200H=21200H,AX4C2AH
存储内容21200H=2AH, 21201H=4CH,AH对应高字节4CH,AL对应低字节2AH
4)有效地址在BX中,为0100H,物理地址=2000H*16+0100H=20100H, AX3412H
操作数在20100H,字数据为3412HAX3412H
5)有效地址在BX+1100H中,为1200H,物理地址=2000H*16+1200H=21200H, 21200H内容为字数据4C2AH,AX4C2AH
6)有效地址在BX+SI中,为0102H,物理地址=2000H*16+0102H=20102H, 20102H内容为字数据7856H AX7856H
7)有效地址在BX+SI+1100H中,为1202H,物理地址=2000H*16+0102H=21202H, 21202H内容为字数据65B7H AX65B7H
2.6、给出下列各条指令执行后AL值,以及CFZFSFOFPF的状态:
1.MOV AL,89H ;AL=89H,CF,ZF,SF,OF,PF
2.ADD AL,AL ;AL=89H+89H=12H,有进位故CF=1 ZF=0SF=0,负数相加和为正数,溢出OF=11的个数2偶数PF=1
3.ADD AL,9DH AL=9DH+12H=AFH置标志位CF=0ZF=0,最高位1SF=1,溢出OF=01的个数6偶数PF=1
4.CMP AL,0BCH ;AFH-0BCH=F3H置标志位 有借位CF=1ZF=0,最高位1SF=1,溢出OF=01的个数6偶数PF=1
5.SUB AL,AL ;AL-AL=0 置标志位CF=0,结果0ZF=1SF=0,溢出OF=01的个数0偶数PF=1
6.DEC AL01=FFH.系统规定DEC指令不影响CF影响其他状态标志,故CF不变仍为0 ;结果非0ZF=0,最高位1SF=1OF=0,,1的个数8偶数PF=1
7.INC ALFFH+1=00H有进位,但是INC指令不影响进位标志,影响其他状态标志CF=0,结果0ZF=1,最高位0SF=0,无溢出故OF=01的个数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)用寄存器BXSI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。
3)用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。
4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。
5)把数0A0HAL寄存器的内容相加,并把结果送回AL中。
1ADD DX,BX ;DX是目的寄存器
2ADD AL,[BX+SI] AL是目的寄存器,源操作数的地址在BX+SI
3ADD [BX+0B2H],CX目的地址在寄存器相对寻址方式BX+0B2H
4ADD WORD PTR [0520H],3412H 目的地址直接寻址方式0520H中,为明确0520H为字地址故用伪指令类型操作符PTR进行字类型WORD的设置
5ADD AL,0A0H结果操作数为AL,源操作数A0H字母开头加前导0

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。