编译原理review

本文介绍了汇编语言中与CPU相关的基础知识,包括地址总线(如16根地址总线对应64KB内存)、通用寄存器(如AX,BX,CX,DX及其8位部分)、段寄存器(如CS与IP的组合用于指示指令地址)、栈操作(如SS:SP指示栈顶,压栈时SP递减)以及特定寄存器用途(如BX常作偏移量,CX用于loop计数)。
摘要由CSDN通过智能技术生成

快速过一遍汇编语言

一根地址总线就是8位,可以传1B
那16根地址总线就是可以寻找
64*1024B
2^16

CPU
有地址总线
数据总线
和控制总线

首先是通用寄存器有ax,bx,cx,dx
每个可以分成俩8位寄存器,为了兼容上代

然后是段寄存器
cs,

cs和ip联系紧密

cs移4位+ip就是cpu下一条指令的地址

只要cs:ip指到的位置才被视为指令,其他都是数据

cs和ip无法被mov指令更改

只能用jmp cs:ip

或者jmp ip

段寄存器不能被直接用数据mov改变

只能从其他寄存器中读取,如mov ds,ax

一个寄存器是16位就说明它可以存16B的数据

8086的出入栈都是16位的

ds是内存段寄存器

[0]的段位置就是ds决定

ss:sp是栈寄存器
指向栈顶

压栈时候,SP从高到低,即SP=SP-2

assume cs:abc

end
把abc和cs寄存器联系起来

abc segment

ends
(end segment)

mov ax,4c00H
int 21H
把cpu交还给command

bx寄存器一般做偏移量

[bx]

cx一般用作loop次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值