《汇编语言》学习(二)寄存器
来源:互联网 发布:artistic软件 编辑:程序博客网 时间:2024/05/21 13:59
本文将总结《汇编语言》第二章——寄存器,相关知识点和习题答案。
一、习题答案
检测点2.1
1,写出下面每步运算后的结果
mov ax, 62627 AX = f4a3 H
mov ah, 31H AX = 31a3 H
mov al, 23H AX = 3123 H
add ax, ax AX = 6246 H
mov bx, 826CH BX = 826c H
mov cx, ax CX = 6246 H
mov ax, bx AX = 826c H
add ax, bx AX = 04d8 H
mov al, bh AX = 0482 H
mov ah, bl AX = 6c82 H
add ah, ah AX = d882 H
add al, 6 AX = d888 H
add al, al AX = d810 H
mov ax, cx AX = 6246 H
2,编程题:使用mov和add两种指令,计算2的4次方,不超过4条指令
mov ax, 2
add ax, ax
add ax, ax
add ax, ax
检测点2.2
1,00010 H —— 1000f H
00010 + FFFF = 1000F
2,1001 H 2000 H
20000H - FFFFH = 10001H
检测点2.3
1,代码分析,代码如下:
mov ax, bx
sub ax, ax
jmp ax
分析:
上述3条指令执行后,CPU 4次修改IP,前3次分别在CPU读取前3条指令后,第4次在执行“jmp ax”指令后,最后IP中的值是0。
二、知识图谱
2.9 - 2.12小结
1,段地址在8086CPU的段寄存器中存放。当8086CPU要访问内存时,有段地址提供内存单元的段地址。8086CPU有4个段寄存器,其中CS用来存放指令的首地址。
2,CS存放指令的首地址,IP存放指令的偏移地址。
8086机中,任意时刻,CPU将CS:IP指向的内容当作指令执行。
3,8086CPU的工作过程:
1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
2)IP指向下一条指令;
3)执行指令。(转到步骤1,重复这个过程。)
4)8086CPU提供转移指令修改CS、IP的内容。
三、实验
本章开始进行Dos环境下,第一次汇编编程实验,所以,我也是在此时开始尝试搭建Dos汇编实验环境。
1,win10搭建Dos环境
《汇编语言》一书中,作者是在Windows 2000平台下操作的,直接“win+r” -> 输入“command”,即可进入dos环境,-> 输入“debug”,然后开启debug.exe。
我的OS是win10 X64,输入“command”时,会提示“找不到文件”。而输入“cmd”,可以进入“cmd.exe”窗口,然后再输入“debug”,又会提示“不是内部或外部命令”。后来,我在网上搜了,win10平台不能开启dos。网友们推荐使用虚拟机,安装win7。
我电脑上本身安装了vmware,并配了一个win7 X64虚拟机。在win7 X64下,仍不能开启dos,现象同win10。再然后,我重新安装了一个win7 X86,安装《汇编语言》一书的方法,成功开启dos和debug.exe。
综上,win10搭建dos环境就是一个伪命题。还是需要在win7 X86下搭建。
2,debug基本命令汇总
下面用一张图来总结书中出现的一些debug命令
- 《汇编语言》学习(二)寄存器
- 汇编语言之寄存器(二)
- 王爽汇编语言学习笔记(二)--寄存器
- 【学习笔记之汇编语言】【二】寄存器
- 汇编语言学习笔记(十一)标志寄存器
- 《汇编语言》学习(十一)标志寄存器
- 汇编语言学习笔记1.0-(基础知识、寄存器)
- 学习《汇编语言》笔记之二——寄存器(8086CPU)
- 汇编语言学习笔记(二):寄存器(cpu工作原理)
- 汇编语言学习笔记二:访问内存的寄存器
- 汇编语言学习(二)
- 王爽 《汇编语言》 读书笔记 二 寄存器
- 汇编语言(8086)-寄存器
- 汇编语言学习笔记:寄存器(1)
- 汇编语言学习笔记 第一节:寄存器
- 汇编语言学习第二章-寄存器
- 汇编语言学习笔记(二)
- 汇编语言学习——第三章 寄存器(内存访问)
- asm_diskstring
- 测试
- iOS 10 Could not find Developer Disk Image
- Android Studio NDK 开发之在Native中调用java层的函数
- 我的python自学读书计划
- 《汇编语言》学习(二)寄存器
- linux命令~grep
- centos7.2 编译安装lnmp
- VS中vcxpro路径的重新设置
- Java的Class类及static块的执行时机
- 设计模式--Prototype模式
- 标准模板库(STL) map —— 初始化问题
- 离散学习--笛卡尔积
- VS下QT中文乱码解决办法