汇编 | 寄存器篇

8086CPU内存中字的存储:CPU中,用16位寄存器来存储一个字,高8位存放高位字节,低8位存放低位字节。在内存中存储时,由于内存单元是字节单元,一个字要用两个地址连续的内存单元来存放。字的低位字节存在低位地址单元中,字的高位字节存在高位地址单元。起始地址(低位)为N,则为N地址字单元。CPU中DS寄存器通常用来存放要访问数据的段地址。 如下几种形式:mov 寄存器,数据 mov 寄存器,寄存器

- 阅读全文 -

汇编 | loop和[bx]指令解析篇

编译运行过程编程 :asm编译:obj连接:exe加载内存中的程序运行DS寄存器是存的是程序段地址,IP是程序偏移地址,DS:IP是程序起点,程序前面先创建PSP(256字节)(程序段前缀)的数据区,DOS利用PSP和加载的程序进行通信,256字节后为程序区。CS:IP是程序入口,存在程序区。 inc bx是bx中的内容加1 注意点:在cx中存放循环的次数loop指令中的标号所标识地址要在前面要循

- 阅读全文 -

汇编 | 认识DosBox篇

执行DosBox将debug.exe的物理路径D:/DosBox-0.47定义为DosBox的C盘mount C D:/DosBox-0.74(bedug.exe的存放路径)访问C盘C:运行debug文件debug命令参数-R查看、改变所有寄存器内容,注意:CS:IP(073F:0100)处存放的机器码是0000,对应的汇编指令是ADD [BX+SI],AL -R AX(改变AX寄存器的值,直接在

- 阅读全文 -