- 写出每条汇编指令执行后相关寄存器中的值
mov ax, 62627 AX=[F4A3H]
mov ah, 31H AX=[31A3H]
mov al, 23H AX=[3123H]
add ax, ax AX=[6246H]
mov bx, 826CH BX=[826CH]
mov cx, ax CX=[6246H]
mov ax, bx AX=[826CH]
add ax, bx AX=[04DBH]
mov al, bh AX=[0482H]
mov ah, bl AX=[6C82H]
add ah, ah AX=[D882H]
add al, 6 AX=[D888H]
add al, al AX=[D810H]
mov ax, cx AX=[6246H]
- 只能使用目前学过的汇编指令,最多使用 4 条指令,编程计算 2 的 4 次方。
mov ax,2
add ax,ax
add ax,ax
add ax,ax
- 给定段地址为 0001H,仅通过变化偏移地址寻址,CPU 的寻址范围为 [00010H] 到 [1000FH]
- 有一数据存放在内存 20000H 单元中,现给定段地址 SA,若想用偏移地址寻到此单元。则 SA 应满足的条件是:最小为 [1001H],最大为:[2000H]
下面的 3 条指令执行后,CPU 几次修改 IP?都是在什么时候?最后 IP 中的值是多少?
mov ax, bx
sub ax, ax
jmp ax
4 次,分别在 读入 mov ax, bx 后,读入 sub ax, ax 后,读入 jmp ax 后,执行完 jmp ax 后,最后 IP 的值为 0
Windows XP、2000 cmd 下 debug 的使用,或者 Dox 下 debug
- 启动 debug
cmd> debug
- r 查看寄存器内容
- r reg 修改寄存器内容
- d 段地址:偏移 [可选的长度] 查看指定地址的内存
- e 段地址:偏移 修改指定地址的内存内容,可以直接跟要修改的内容,或者以 Q/A 的方式修改
- u 段地址:偏移 将内存的机器指令翻译为汇编指令
- t 执行一条指令
- a 段地址:偏移 以汇编格式写入指令
(3) FFF00H~FFFFFH 的内容对应 ROM 的地址,无法修改
(4) B8100H 开始的一段地址对应显存内容,对其修改会改变的显示内容