1.基础概念
- 汇编语言的主体是汇编指令
- 汇编指令是机器指令便于记忆的书写格式
- 是机器指令的助记符
- 汇编指令 通过编译器 转成机器指令
- 汇编语言组成
- 汇编指令 机器码的助记符 核心
- 伪指令 编译器执行
- 其它符号 编译器识别
2.深度概念
- 段地址和偏移地址
- 物理地址=基础地址+偏移地址
- 物理地址有20位 /5位16进制
- 基础地址=16*段地址
- 段地址和偏移地址都是16位/4位十六进制
- 字
- 储存
- 一个内存单元可以存8位数字,当大于8位时,用两个内存单元存
- 0位存的字节数据是20H 0位存的字数据是4E20H
- 传送
- mov ax[0]时,直接取1123赋给ax
- mov ax [1]时,直接取2211赋给ax
- 代码
- db 占一个单元
- dw 占两个单元
- dd 占四个单元
- 栈
- PUSH ax ax中内容入栈
- pop ax 出栈,存到ax中
- 一次出一个字 16位
- data segment
- db 'abc'
- dw 0000H
- data ends
- ascll码
- 一个字母站一个字节
- a-=20 成为A
- 数据位置表达
- 数据表达有关的寄存器 Sreg 段寄存器 done
- bx si di bp
- 只有这四个可以填在[]中
- 正确组合
- idata
- bx
- bx+idata
- bx+si
- bx+si+idata
- 错误组合
- bx+bp
- si+di
- 其它要素
- bp默认取ss寄存器为段地址
- 数据位置表达 done
- 寄存器 ax
- 立即数 1
- 物理地址 段+偏移
- 隐性给出
- mov ax[0]DS
- mov ax[di] DS
- mov ax [bx+0]DS
- mov ax[bp+0] SS
- 显性给出
- mov ax SS:[bx] 用SS段地址
- 确定数据长度
- 默认型
- ax 默认字
- al 默认字节
- push [0] push默认对字进行操作
- 指定型
- inc word ptr [0]字型
- inc byte ptr [0]字节
- 没有用到寄存器的话一定要指定
- 处理数据的指令类型
- 运算
- 读取
- 写入
- 硬件位置
- CPU
- 内存
- 端口
- 寻址方式
- 立即数 直接寻址
- 寄存器bx bp 基址寻址
- 寄存器 si dk 变地寻址
- 寄存器+寄存器 基址变址寻址
- 寄存器+立即数 寄存器相对寻址
- 寄存器+寄存器+立即数 相对基址变址寻址