摘要: 参考答案 (ax)=45 推算过程 在 popf 后,标志寄存器中,本章节介绍的那些标志位都为零(没学过的位置用 * 先代替) 那么 pushf 将计算后的当时状态的标志寄存器入栈,然后 pop 给 ax 寄存器 接下来进行 and 操作,结果如下: mov ax,0 push ax popf mo 阅读全文
posted @ 2020-09-30 13:35 研究林纳斯写的 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 参考答案 “在 int 16h 中断例程中,一定有设置 IF=1 的指令。”,这种说法是对的吗? 这种说法是正确的。因为 int 16h 中断例程会检测键盘缓冲区是否有数据,如果没有数据将循环检测。如果设置 IF = 0 则不处理可屏蔽中断,那么键盘按键就会被忽略,导致按键无法写入键盘缓冲区。当键盘 阅读全文
posted @ 2020-09-30 13:19 研究林纳斯写的 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 第一步、调整 dtoc 程序 在实验 10 中编写 dtoc 程序能够显示数值,但是存在以下问题: 1)原有 dtoc 只能支持 16 位被除数,但是收入数据是 32 位,需要添加支持; 2)除法存在溢出问题,并且原有 dtoc 程序直接使用 DIV 指令,因此可能溢出; 首先调整 dtoc 程序, 阅读全文
posted @ 2020-09-30 10:34 研究林纳斯写的 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 1)显示字符串 assume cs:codeseg, ds:data data segment db 'Welcome to masm!', 0 data ends codeseg segment start: mov dh, 8 ; 行 mov dl, 3 ; 列 mov cl, 2 ; 颜色 ; 阅读全文
posted @ 2020-09-30 09:49 研究林纳斯写的 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 参考答案 1) 由于这段程序是在中断例程中执行的,因此在进入中断例程时,标志位 IF TF 已经设置为零,无需再次设置: pushf call dword ptr ds:[0] 2) 问题出现在 mov word ptr es:[9*4], offset int9 与 mov es:[9*4+2], 阅读全文
posted @ 2020-09-29 22:21 研究林纳斯写的 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 参考答案 1)补全下面的程序,统计F000:0处32个字节中,大小在[32,128]的数据个数。 mov ax,0f000h mov ds,ax mov bx,0 ;ds:bx指向第一个字节 mov dx,0 ;初始化累加器 mov cx,32 s: mov al,[bx] cmp al,32 ;和 阅读全文
posted @ 2020-09-29 18:34 研究林纳斯写的 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 参考答案 1) 用 debug 查看内存,情况如下: 0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00 则 3 号中断源对应的中断处理程序入口的偏移地址的内存单位的地址为 ( 0070:018b ) 题目解析: 壹个表项存放壹个中断向 阅读全文
posted @ 2020-09-29 17:34 研究林纳斯写的 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 参考答案 assume cs:codeseg dataseg segment db "Beginner's All-purpose Symbolic Instruction Code.",0 dataseg ends codeseg segment start: mov ax, dataseg mo 阅读全文
posted @ 2020-09-29 16:20 研究林纳斯写的 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 参考答案 AL CF OF SF ZF PF sub al, al 0h 00000000b 0/NC 0/NV 0/PL 1/ZR 1/PE mov al, 10h 10h 00100000b 0/NC 0/NV 0/PL 1/ZR 1/PE add al, 90h a0h 10100000b 0 阅读全文
posted @ 2020-09-29 14:34 研究林纳斯写的 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 参考答案 1) 最大位移是 FFFF 2) 下面是测试程序,用于测试在 7ch 中的中断例程,由原教材提供: assume cs:code data segment db 'conversation',0 data ends code segment start: mov ax, data mov 阅读全文
posted @ 2020-09-29 13:19 研究林纳斯写的 阅读(210) 评论(0) 推荐(0) 编辑