在8086cpu通用寄存器
- 寄存器AX: 用于存放数据 (源代码编写时不能以字母开头,可在开头补上0)
- 比如
mov ax, ffffh
应该写成mov ax, 0ffffh
否则编译报错
- 比如
- 寄存器BX: 另外还用于存放数据段偏移地址 初始值为源代码大小
- 寄存器CX: 另外还用于存放loop循环计数
- 寄存器DX: 另外还用于存放累加结果
- 寄存器EX:备用寄存器
## BX存在的意义
1. asm编译器无法识别中括号,mov ax,[0]
编译时会默认去除中括号.使用bx替代可以解决这个问题,如果在debug模式下使用-a命令输入中括号则没有问题,可以正常识别
1 | ;错误写法:编译器无法识别[0],会直接取值为0 而不是偏移地址0所对应的内容 |
问题: 那如果非要以带中括号的方式进行编写可以吗? 答案是:需要带上段地址ds,如下:
1 | assumme cs:code |
本文为作者原创 转载时请注明出处 谢谢
乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站