16位汇编复习

王爽第三版根据课后练习题顺序,结合课本阅读效果更佳,简单的问题不再指出
本人才疏学浅,不能保证全部所写正确性,有错请指出。

1.1
CPU的寻址能力是由地址总线决定的,一个地址总线宽度对应一个内存单元。8086有20根地址总线,
CPU数据总线一根传一个bit,8086为16根数据总线,一次传输两个字节。数据总线与寄存器,处理位数相同,对应我们之后学到的最大处理数据指定:word ptr。
在存储器中数据和程序以二进制码存放,我们用-d查看内存时,用16进制数显示,每个字节空一格。
2.2
段地址与偏移地址
物理地址=段地址x16+偏移地址
8086有20根地址总线,这就是它为什么用两个16位的段地址和偏移地址来合成一个20位的物理地址的原因。
2.3
任意时刻CS:IP指向CPU将要执行的下一步操作,课后练习中有三条指令,因为第三条jmp修改了IP,所以共执行了四次。
jmp指令(注意jmp是一个汇编指令,不能在debug中使用,与考试无关。)
**jmp 段地址:偏移地址 ** 同时修改CS:IP
**jmp 寄存器名 ** 只修改IP 等同于 MOV IP,寄存器名
第二章实验
e命令用来写入机器码 a写汇编指令,写完后用r指令把CS与IP修改到写入指令处,用t命令执行即可。

-r 查看和改变CPU寄存器的内容:
-r ax 后按下enter键将出现:提示输入,输入内容即可改变ax寄存器的内容。
-d 查看内存中的内容:
-d 1000:0 意思就是查看内容地址为10000h-10070h内存中的内容。
-d 1000:0 9查看1000:0-1000:9单元中的内容
-d 1000:10 10查看1000:10内存中的内容
-e 改写内存中的命令:
-e 1000:0 1 'a' 2 'b' 3 'c'
向1000:0 1000:2 1000:4单元中写入1,2,3, 向1000:1 1000:3 1000:5单元中写入"a" "b" "c"。
-u 将内存中的机器指令翻译成汇编指令:
-u 1000:0
-t 执行一条机器指令:
执行cs:ip所指向的指令
-a 以汇编指令的格式在内存中写入一条机器指令

3.1
多注意内存中的高位与低位位置。

栈的push与pop

SS:SP

3.7
栈的段地址ss,是一个段寄存器(所有段寄存器都不能直接赋值),我们需要一个寄存器来中转。

寄存器reg:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,di;
段寄存器sreg:ds,ss,cs,es;

……

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,598评论 8 114
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 7,071评论 0 1
  • 汇编总结 汇编的发展史 机械语言 由0和1组成的机器指令(如:0101 0001 1101 0110) 汇编语言(...
    iChuck阅读 5,101评论 1 8
  • 不知从何时开始,我对雨就有了一种别样的感觉。 记得小时候是在乡下舅舅家度过的。很多记忆随着时间的流逝从脑海中渐渐淡...
    王海426阅读 1,560评论 0 3
  • 父爱如伞,为你遮风挡雨; 父爱如雨,为你濯洗心灵; 父爱如路,伴你走完人生。 父爱如山,高大而巍峨,让我望而生怯不...
    暄妈食尚阅读 4,544评论 0 0