调试实验1、输入命名调试程序,进入调试程序
2、r指令显示寄存器
3、a命令输入汇编命令
4、t指令一步执行汇编指令
5 .数据溢出之后,标记位NC为NY,0为1
最后,AX=044C,1丢失,标志位变为CY
作业
2 .只能使用当前学习的汇编指令。 最多使用4个指令,通过编程计算2的4次方。
MOV AX,2 AX=2
ADD AX,AX AX=4
ADD AX,AX AX=8
ADD AX,AX AX=16
3.8086/8088通用寄存器的通用性体现在哪里? 8个通用寄存器分别专用于什么用途? 哪个寄存器可以用作存储器地址方式的指针寄存器?
8086/8088通用寄存器除规定用途外,他们都可以传输数据并临时存储,可以存储算术逻辑运算中的操作数和结果;
8个通用寄存器各自的专用用途如下
AX:字乘法、字除法、字I/O
BX:存储地址
CX:串行操作或周期计数期间的计数器
DX:字乘法、字除法、间接I/O
SI:内存指针(串行操作中的源指针) ) ) ) ) ) ) ) ) )。
DI:内存指针(串行操作中的目标指针)。
BP:堆栈底部指针
SP:堆栈顶部指针
4、其中BX BP SI DI可用作内存地址指针
4 .从程序员的角度看,8086/8088有多少个可访问的16位寄存器? 有多少个8位寄存器可以访问?
从程序员的角度来看有14个可访问的16位寄存器
可访问的8位寄存器
5 .寄存器AX和寄存器AH和AL的关系怎么样? 请写出执行以下程序各指令后的寄存器AX的内容。
MOV AX,1234H AX=1234H
MOV AL,98H AX=1298H
MOV AH,76H AX=7698H
ADD AL,81H AX=7619H
SUB AL,35H AX=76E4H
ADD AL,AH AX=765AH
ADD AH,AL AX=D05AH
ADD AX,0D2H AX=C12CH
SUB AX,0FFH AX=D02DH
6、处理器的通用寄存器越多越好吗? 通用寄存器不够时该怎么办?
的通用寄存器并不是越多越好。 如果CPU的通用寄存器增加,则CPU成本增加,CPU的设置变得困难。
通用寄存器不足的话可以用存储器代替,但是速度会降低
全称ahal=ax (累加器) :累加寄存器
bhbl=bx(base ) :基地址寄存器
chcl=CX (计数) :计数寄存器
DHDL=dx(data ) :数据寄存器
堆栈指针(sp ) :堆栈指针寄存器
BP (基本指针) :基地址指针的寄存器
源索引(si ) :源索引寄存器
目标索引(di ) :目标索引寄存器
IP(instructionpointer ) :指令指针寄存器
代码段寄存器(cs )
数据段(ds ) :数据段寄存器
堆栈段(ss ) :堆栈栈寄存器
es (附加段) :附加段寄存器
溢出标志的操作数超过了设备可显示的范围时表示溢出,溢出时为1。
SF sign Flag符号标志记录运算结果的符号,结果为负时为1。
ZF zero flag零标志的运算结果为0时为1,否则为0。
CF carry flag进位标志的最高有效位发生进位时为1,否则为0。
AF auxiliary carry flag辅助进位标志的运算时,从第3位向第4位发生进位时为1,否则为0。
PF parity flag奇偶校验运算结果的操作位为1的个数为偶数时为1,否则为0。
DF DIrecion flag方向标志用于串行处理。 如果DF=1,则每次在操作后减少SI和di时,如果DF=0,则增大。
if中断标志中断标志IF=1时,允许CPU响应中断,否则关闭中断。
TF trap flag陷阱标志用于单步操作调试。