随笔分类 -  汇编语言-第二版-王爽

学习此书的笔记
摘要:loop 指令为循环指令,所有的循环指令都是**短转移**,在对应的机器码中包含转移的位移,而不是目的地址。对 IP 的修改范围都为:-128~127。指令格式:loop 标号操作:1. (cx)=(cx)-12. 如果 (cx)≠0,(IP)=(IP)+8 位位移。8 位位移=标号处的地址-loo... 阅读全文

posted @ 2015-08-06 10:53 mconintet 阅读(547) 评论(0) 推荐(0)

摘要:补全编程,利用 jcxz 指令,实现在内存 2000h 段中查找第一个值为 0 的字节,找到后将它的偏移地址放到 dx 中。```assume cs:codecode segmentstart: mov ax, 2000h mov ds, ax mov bx, 0s: _________ _... 阅读全文

posted @ 2015-08-05 23:11 mconintet 阅读(363) 评论(0) 推荐(0)

摘要:```jmp short 标号 ; 段内转移,IP 偏移 8 位jmp near ptr 标号 ; 段内转移,IP 偏移 16 位jmp far ptr 标号 ; 段间转移,同时更改 CS 和 IPjmp 16 位 reg ; (IP)=(16 位 reg)jmp wo... 阅读全文

posted @ 2015-08-05 19:23 mconintet 阅读(187) 评论(0) 推荐(0)

摘要:```jmp short 标号 ; 段内转移,IP 偏移 8 位jmp near ptr 标号 ; 段内转移,IP 偏移 16 位jmp far ptr 标号 ; 段间转移,同时更改 CS 和 IPjmp 16 位 reg ; (IP)=(16 位 reg)jmp wo... 阅读全文

posted @ 2015-08-05 18:49 mconintet 阅读(254) 评论(0) 推荐(0)

摘要:实验7Power idea 公司从 1975 年成立一直到 1995 年的基本情况如下:年份 | 收入(千美元)|雇员(人)| 人均收入(千美元)-----|------------:|-------:|----------------:1975 | 16 | 3 | ?1976 | 22 |... 阅读全文

posted @ 2015-08-04 22:49 mconintet 阅读(700) 评论(0) 推荐(0)

摘要:## div 指令div 是除法指令,后面跟的是除数,被除数默认在 ax, 或者 dx、ax 组成的存储单元中。1. 除数可以有 8 位和 16 位两种,存储于一个 reg 或内存单元中,也就是说不可以 div 后面跟着 [idata](http://www.cnblogs.com/mconinte... 阅读全文

posted @ 2015-08-04 20:55 mconintet 阅读(1514) 评论(0) 推荐(0)

摘要:### bx、si、di 和 bp在 8086CPU 中,只有这 4 个寄存器可以用在 “[...]” 中来进行内存单元的寻址。```mov ax, [bx]mov ax, [bx+si]mov ax, [bx+di]mov ax, [bp]mov ax, [bp+si]mov ax, [bp+di... 阅读全文

posted @ 2015-08-04 18:27 mconintet 阅读(824) 评论(0) 推荐(0)

摘要:问题 7.9编程,将 datasg 段中每个单词的前4个字母改为大写字母。```assume cs:codesg, ds:datasg, ss:stacksgstacksg segment dw 0, 0, 0, 0, 0, 0, 0, 0stacksg endsdatasg segment db ... 阅读全文

posted @ 2015-08-04 18:02 mconintet 阅读(282) 评论(0) 推荐(0)

摘要:在汇编中可以使用 `loop 段地址:偏移地址` 并配合 cx 达到循环执行的目的,但是在一些资料中看到说,cx 是循环的次数,我觉得这是不对的。比如下面这段代码的作用是使得最终的 ax 中的值为 3```assume cs:codecode segmentstart: sub ax, ax mo... 阅读全文

posted @ 2015-08-04 16:02 mconintet 阅读(1808) 评论(0) 推荐(0)

摘要:> 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;>> 小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据... 阅读全文

posted @ 2015-08-04 13:46 mconintet 阅读(697) 评论(0) 推荐(0)

摘要:这节中的问题 7.1 有错误题目和我自己的注释为:用 Debug 查看内存,结果如下:> 2000:1000 BE 00 06 00 00 00 ...写出下面程序执行后,ax,bx,cx中的内容```mov ax, 2000h mov ds, ax ; 和上一行一起,用于设置 ds 的内容... 阅读全文

posted @ 2015-08-04 13:11 mconintet 阅读(318) 评论(0) 推荐(0)

摘要:在学习此节中时,遇到书中的**程序6.4**有些疑问```assume cs:code, ds:data, ss:stackdata segment dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987hdata endsstack seg... 阅读全文

posted @ 2015-08-04 10:44 mconintet 阅读(395) 评论(0) 推荐(0)