《西南交大网络教育汇编语言程序设计-第一次作业.doc》由会员分享,可在线阅读,更多相关《西南交大网络教育汇编语言程序设计-第一次作业.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date西南交大网络教育汇编语言程序设计-第一次作业汇编语言程序设计 第一次作业汇编语言程序设计 第一次作业11.用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 409
2、5=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH12.将下列十六进制数转换为二进制数和十进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=466013.完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB6F答:(1
3、)3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB6FH=35325H=21789314.下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。15.下列各数均为用十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的数或字符的ASCII码时,它们所表示的十进制数及字
4、符是什么?(1) 4F (2) 2B (3) 73 (4) 59答:(1) 4FH表示的十进制数为79,4FH表示的字符为O;(2) 2BH表示的十进制数为43,2BH表示的字符为+;(3) 73H表示的十进制数为115,73H表示的字符为s;(4) 59H表示的十进制数为89,59H表示的字符为Y。16.在80x86微机的输入/输出指令中,I/O端口号通常是由DX寄存器提供的,但有时也可以在指令中直接指定00FFH的端口号。试问可直接由指令指定的I/O端口数。答:可直接由指令指定的I/O端口数为256个。17.在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段
5、地址和偏移地址是3015:002A和3010:007A呢?答:3017:000A、3015:002A和3010:007A的存储单元的物理地址都是3017AH。18.如果在一个程序开始执行以前(CS)=0A7F0H,(如16进制数的最高位为字母,则应在其前加一个0) (IP)=2B40H,试问该程序的第一个字的物理地址是多少?答:该程序的第一个字的物理地址是0AAA40H。19.下列操作可使用那些寄存器?(1) 加法和减法(2) 循环计数(3) 乘法和除法(4) 保存段地址(5) 表示运算结果为0(6) 将要执行的指令地址(7) 将要从堆栈取出数据的地址 SS:SP答:(1)数据寄存器等(2)C
6、X(3)AX、DX,乘数和除数用其他寄存器或存储器(4)段寄存器(5)ZF=1(6)CS:IP(7)SS:SP20.给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?(1)立即寻址(2)直接寻址(3)使用BX的寄存器寻址(4)使用BX的简接寻址(5)使用BX的寄存器相对寻址(6)基址变址寻址(7)相对基址变址寻址答:(1) 操作数在指令中,即立即数;(2) EA=D=7237H;(3) 无EA,操作数为(BX)=637DH;(4) EA=(BX)=637DH;(5) EA=(BX)+D=0D5B4H;(6) EA=(BX)+(SI
7、)=8E18H;(7) EA=(BX)+(SI)+D=1004FH;超过了段的边界,最高进位位丢失,因此EA=004FH。21.写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式:(1)寄存器间接寻址(2)寄存器相对寻址(3)基址变址寻址答:(1) MOV BX, OFFSET BLOCK ADD BX, (61)*2 MOV DX, BX(2) MOV BX, OFFSET BLOCK 改为: MOV BX, (6-1)*2 MOV DX, BX+(61)*2 也可 MOV DX, BLOCKBX(3) MOV BX, OFFSET BLOCK MOV
8、SI, (61)*2 MOV DX, BXSI22.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。(1) MOV AX, 1200H(2) MOV AX, BX(3) MOV AX, 1200H(4) MOV AX, BX(5) MOV AX, 1100BX(6) MOV AX, BXSI(7) MOV AX, 1100B
9、XSI答:(1) (AX)=1200H(2) (AX)=0100H(3) (AX)=4C2AH(4) (AX)=3412H(5) (AX)=4C2AH(6) (AX)=7856H(7) (AX)=65B7H23.给定(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH,(224A0H)=0600H,(275B9H)=098AH,试为以下的转移指令找出转移的偏移地址。(1)段内直接寻址(2)使用BX及寄存器间接寻址方式的段内间接寻址(3)使用BX及寄存器相对寻址方式的段内间接寻址答:(1) JMP NEAR PTR 5119H ;(IP)=
10、5119H+(IP)+03H)=7CDCH,物理地址PA=09CDCH (IP)+03H是JMP NEAR PTR 5119H指令的下一条指令的首地址。(2) JMP WORD PTR BX ;(IP)=(DS)*10H+(BX)=0600H,PA=02600H(3) JMP DBX ;(IP)=(DS)*10H+(BX)+D)=098AH,PA=0298AH24.求出以下各十六进制数与十六进制数62A0H之和,并根据结果设置标志位SF、ZF、CF和OF的值。(1) 1234H (2) 4321H (3) CFA0H (4) 9D60H答:(1) 和为74D4H;SF=0,ZF=0,CF=0,
11、OF=0(2) 和为A5C1H;SF=1,ZF=0,CF=0,OF=1(3) 和为3240H;SF=0,ZF=0,CF=1,OF=0(4) 和为0000H;SF=0,ZF=1,CF=1,OF=025.指出下列指令的错误:(1) MOV AH, BX ;(2) MOV BX, SI ;(3) MOV AX, SIDI ;(4) MOV MYDAT BXSI, ES:AX ;(5) MOV BYTE PTR BX, 1000 ;(6) MOV BX, OFFSET MYDAT SI ;(7) MOV CS, AX ;(8) MOV ECX, AX ;答:(1) MOV AH, BX;寄存器类型不匹配(2) MOV BX, SI;不能都是存储器操作数(3) MOV AX, SIDI;SI和DI不能一起使用(4) MOV MYDAT BXSI, ES:AX;AX寄存器不能使用段超越(5) MOV BYTE PTR BX, 1000;1000超过了一个字节的范围(6) MOV BX, OFFSET MYDAT SI;MYDAT SI已经是偏移地址,不能再使用OFFSET(7) MOV CS, AX;CS不能用作目的寄存器(8) MOV ECX, AX;两个操作数的数据类型不同-
限制150内