内容发布更新时间 : 2024/11/17 7:47:12星期一 下面是文章的全部内容请认真阅读。
1. 125D=( )B=( )H? 1000D=( )H=( )O
2. 8位二进制有符号数A=1110 0001B,则A-1=( )B 3 求1111-1010
4.用8个二进制位表示一个数,则: - 3=( )B?
5.用8个二进制位表示一个数,则:最大的负整数为( )H? 6.已知某存储单元的段基址2000H、偏移地址为1000H,求其物理地址。
7.CS段寄存器的内容为3F00H,IP寄存器的内容为1000H,则下一条指令的物理地址为() 8. 已知当前DS=1000H,将物理地址为12000H的存储单元内容输入到AX寄存器。 9. 已知当前DS=3000H,将物理地址为12000H的存储单元内容输入到AX寄存器。 10. 将数据30H输出到端口地址为2000H的外设 11. 执行下列指令后,AL=? XOR AL, AL MOV AL, 90H CMP AL, 20H RCL AL, 1 ADC AL, 10H TEST AL, FFH SUB AL, 30H
12.已知DS寄存器内的内容即为当前数据段的段地址。将32个字节的数据块从地址1000H开始的存储单元传送到地址1400H开始的存储单元。 13. 将AL左移两位的指令 若SS=1000H,SP=1000H,AX=1234H,BX=5678H,试说明执行下列指令之后,SP=? SS=? CX=? PUSH BX PUSH AX POP CX
14设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问: (1) 执行指令PUSH AX后SP=?
(2) 再执行下列两条指令后,SP=?AX=?BX=? PUSH BX
POP AX
15.编程将1000H传送给端口地址为10H、11H的外设 16.问执行下列指令后,AL=?,CF=?
MOV AX,1000H MOV DS,AX MOV BX,0FF00H MOV [100H],BX MOV AL,[101H] ADD AL,1
17..判断存储单元1000:1030H内存储的数据是否负数,若是,将-1送入存储单元1000:1031H;若不是,将0送入存储单元1000:1031H 算法: a. 设段寄存器 b. 取该数到AL
c. 该数左移一位,符号位送CF
d. 若为负数,转f
e. 若不为负数,0送1000:1031H,转g f. -1送1000:1031H g. 停机
MOV DS, 1000H ; 1 MOV SI, 1030H ; 2 MOV AL, SI ; 3 SHL AL, 1 ; 4 JNZ LP1 ; 5 MOV [1031], 0 ; 6 LP1: MOV [1031H], -1 ; 7 HALT
18. 指出下列指令中的错误: 主程序: ...
CALL PRO1 ; 1 ... 子程序:
PRO1: PUSH AX ; 2 PUSH BX ; 3
MOV AL, 1 ; 4 MOV BL, 2 ; 5 ADD AL, BL ; 6
POP AX ; 7 POP BX ; 8
IRET ; 9
19. 已知存储器的一段数据区的内容如下: 1000: 0000 12 25 38 40 58 68 77 81 .... ....
用DEBUG编写的指令段如下: 1110: 0001 MOV AX, 1000 1110: 0004 MOV DS, AX 1110: 0006 MOV SI, 2
1110: 0009 MOV AH, [SI+1] 1110: 000C MOV AL, [SI+3] 1110: 000F ADD AH, AL 1110: 0011
问:1. MOV AH, [SI+1]指令在存储器指令区的存储地址。
2. 该段指令的执行结果
3.指出如下汇编程序的错误之处 S1 SEGMENT
SBUFF DB 10 DUP (?)
S1 ENDS
C1 SEGMENT
ASSUME CS:C1, SS:S1, DS:DATA
A1: MOV AL,1 ADD AL,2
C1 ENDS
20. 如下图所示的8255A与8086连线, 问8255A的四个端口地址。若要其端口地址设置为40-43H,问如何接线?
8 D0 ~D7 AD0~A
8 地址锁存 A器 A1
A
A15
& CS(平) M/IO(平)
RD(平)
RD(平) WR(平