【汇编语言王爽】进阶-笔记 p22--p40

2022-11-13 09:52:51 浏览数 (1)

编译 obj ;中间结果。lst-列表文件 crf -交叉引用文件

link

程序的运行和跟踪-debug装载程序

p命令

g命令 一直运行 到断电或者结束

【】-汇编自己的规定 语法 - 来代表内存中的单元

()为方便学习约定的表示内存单元 寄存器的内容

约定 idata表示常量

inc bx 加一的指令

loop s指令 cs默认循环次数

机器内部指令 其实就是标记一个s地址 然后loop到那个s地址-------相当于goto

段前缀的使用 从 内存取数据段取数 ds:【0】

对策

访问连续内存 这样 连续取值ds:【bx】

数据拷贝-改进es-附加段寄存器—用作另一个段前缀 更加方便 段之间的操作

安全存放数据

dw 定义字型数据 db dd

问题

改进 start ;sc:ip会直接指到真正代码开始的地方而不是数据

代码段中 使用栈

数据 代码 栈 放入不同位置

初始化assume cs:code,ds:data,ss:stack

cs不用重新初始化

内存寻址方式 - 导学

计算机处理字符问题的方法

对于字符串‘abc’------ascii—大小写字母 差20H

大小写转换 用逻辑and dest src

寻址方式【bx idata】-----(bx) idata 立即数

【bx idata】进行数组处理-----【bx 0】数组1;【bx 5】数组2;然后inc bx

对比c语言数组:a【i】 b【i】

汇编:0【bx】 5【bx】

cpu内部寄存器 -14个总共 – 通用ax bx cx dx 变址寄存器 si di

SI source index 源变址寄存器 DI destination index 目标变址寄存器 BX 通用寄存器-常作为基址寄存器

应用

像随着 完成复制

【bx si】和【bx di】方式 指定地址

【基质 变址 立即数】方式寻址

内存寻址方式小结

二重循环问题—用栈保存数据

二重循环—用栈保存数据---------更加常用 将外层循环cx压栈

内存的寻址方式 总结

直接寻址

寄存器间接

寄存器相对寻址

基址变址寻址

相对基址变址

那些寄存器用于寻址-bx si di bp

注意: 错误指令mov ax,【cx】 原因:只有bx bp si di 可以用在对【】对内存单元寻址 ------------电路设计问题!

内存寻址的寄存器用法!!!

在哪里 有多长?-------两个基本问题

汇编中数据位置的表达

指令要处理的数据有多长mov word ptr ds:[0],1

0 人点赞