汇编

汇编简单入门教程(七)dp,div,dup

2015-05-06

参考: 《汇编语言》 王爽 第8章 1. bx、si、di、和 bp 8086CPU只有4个寄存器可以用 “[...]” 中进行单元寻址。 bp:除了默认的段地址是ss,其他与bx一样。 它们所有正确的组合 mov ax,[bx] mov ax,[si] mov ax,[di] mov ax,[dp] mov ax,[bx+si] mov ax,[bx+di] mov ...

汇编

汇编简单入门教程(六)si、di,双重循环

2015-05-06

参考: 《汇编语言》 王爽 第7章 1. and和or指令,与[bx+idata] and和or,就不多说了。 [bx+idata] 这样写是可以的,某些情况下,比较方便。 [bx+idata] 也可以写成 idata[bx] 直接见例子: 把’ABcde‘ 跟 ‘fGHig’ 都改成大写(ASCII中大写字母与小写字母二进制中,只有第五位不同 ...

汇编

汇编简单入门教程(五)包含多个段的程序

2015-05-06

参考: 《汇编语言》 王爽 第6章 1.在代码中使用数据。 assume cs:code code segment dw 0123h,0456h,0789h,0defh mov ax,0 mov bx,0 mov ax,4c00H int 21h code ends end dw 表示定义字型数据,db 表示定义字节型数据。 上面代码编译连接,用debug调试,-u cs:0 查看汇编代码, ...

汇编

汇编简单入门教程(四)[BX] 和 loop指令

2015-05-05

参考:《汇编语言》 王爽 第5章 1.[BX] mov al,[1] 在debug中,会把bs:1 中数据赋给al,但在在masm中不会把bs:1 中数据赋给al,而是把 [1] 认为是 1 赋给al。 如果要实现在debug中的mov al,[1],在masm中就需要[bx] 如: mov bx,1 mov al,[bx] 还可以用 bs:[1] 的方式 如: mov al,bs:[1] ...

汇编

汇编简单入门教程(三)第一个程序

2015-05-05

参考:《汇编语言》 王爽 第四章 1.一个源程序从写到执行的过程 第一步:编写汇编源程序 第二步:对源程序进行编译连接 第三步:在操作系统中执行 2.源程序 代码: assume cs:first first segment start: mov ax,2 add ax,ax add ax,ax mov ax,4C00H int 21H first ends end start 代码解释: ...

汇编

汇编简单入门教程(二)寄存器(内存访问)、栈

2015-05-05

参考:《汇编语言》 王爽 第三章 一、寄存器(内存访问) 1.DS和[address] DS 数据段寄存器,用来存放数据段地址 [address] 用来表示数据段的偏移地址 同样跟CS一样,不可以通过 mov ds, 1000 给ds赋值 要通过通用寄存器ax等。 例如: mov ax, 1000 mov ds, ax mov al, [0] 把1000:0的内容存进al mov bx, 1 ...