汇编学习笔记(3)[bx]和loop
2013-12-15 18:36
162 查看
本文是《汇编语言》一书的学习笔记,对应书中的4-6章。
执行link命令后assembly目录下生成1.exe和1.obj两个文件,1.obj为编译过程中的目标文件,1.exe即可执行的二进制文件。1.obj中存储着远程需的描述信息,程序的大小、占用多少空间,当然还有翻译成机器码的源程序代码。
生成1.exe可执行文件后,用debug命令跟踪调试程序。
r命令查看寄存器信息,u命令查看内存中的程序代码。使用Debug加载程序后,ds存储程序开始的段地址,cs指向第一行代码。在ds和cs之间有一段大小为256字节的空间,称为程序段前缀,所以ds-cs=10H。
cx中存储的是循环次数,s是标号,执行到loop s会先将cx-1判断cx是否=0,若不等于0则执行s处代码。
汇编程序的执行
要想将源代码变为可执行的程序需经过编译、连接两个步骤,WIN7操作系统下需要MASM程序来进行编译连接工作。将MASM和Debug安装在E:\Software\assembly目录下并新建code文件夹,创建汇编源程序1.asm,使用masm命令编译,link命令连接。;演示的小程序 assume cs:code code segment mov ax,1 mov bx,2 add ax,bx sub bx,1 mov ax,4c00h int 21h code ends end
执行link命令后assembly目录下生成1.exe和1.obj两个文件,1.obj为编译过程中的目标文件,1.exe即可执行的二进制文件。1.obj中存储着远程需的描述信息,程序的大小、占用多少空间,当然还有翻译成机器码的源程序代码。
生成1.exe可执行文件后,用debug命令跟踪调试程序。
r命令查看寄存器信息,u命令查看内存中的程序代码。使用Debug加载程序后,ds存储程序开始的段地址,cs指向第一行代码。在ds和cs之间有一段大小为256字节的空间,称为程序段前缀,所以ds-cs=10H。
[bx]
[bx]表示将bx中的值(bx)作为偏移地址来表示一个内存单元,段地址在ds中,也可以显示的指定段地址即ds:[bx]。loop
loop是循环指令,循环执行从标号开始的内容,下面是计算2^5的代码。;演示2^5的小程序 assume cs:code code segment mov ax,2 mov cx,4 s: add ax,2 loop s mov ax,4c00h int 21h code ends end
cx中存储的是循环次数,s是标号,执行到loop s会先将cx-1判断cx是否=0,若不等于0则执行s处代码。
相关文章推荐
- 实验4 [bx]和loop的使用
- 王爽汇编第五章作业 [BX]和LOOP指令
- [BX]和loop指令02 - 零基础入门学习汇编语言24
- 第五章 [bx]和loop指令
- 一步步学汇编(四)[bx]和loop
- 王爽《汇编语言》(第二版) 学习笔记 (第五章 [BX]和loop指令 )
- 求FFFF:0到FFFF:F的字节型数据和,存放到dx中(LOOP和ds:[bx]联合运用)
- ASM-第五章[BX]和loop指令的使用
- [BX]和loop指令03 - 零基础入门学习汇编语言25
- 汇编学习笔记-si-di-bx-bp
- 读王爽老师汇编语言笔记---[bx]loop指令以及多个段的程序
- 汇编入门学习笔记 (四)—— [BX] 和 loop指令
- 8086汇编4:bx与loop的使用
- 8086汇编学习之[BX],CX寄存器与loop指令,ES寄存器等
- [BX]和loop指令03 - 零基础入门学习汇编语言25
- [bx]和loop指令
- 汇编语言学习笔记(5)——[bx]和loop
- 第5章 [BX]和loop指令 笔记
- [BX]和loop指令
- [BX]和loop指令