学习16位DOS汇编笔记

本文是关于16位DOS汇编的学习笔记,主要涉及AND、OR指令的使用,以及如何通过位操作将字母转换为大写。示例中展示了如何将AL寄存器的特定位进行置0或置1,并提供了将内存中字母转为大写的代码片段。此外,还提及了重复数据在汇编中的表示方法,如DB、DW和DD伪指令的用法。
摘要由CSDN通过智能技术生成
ax       //是16位的寄存器,最大可以存65535
ah,al  //是8位的寄存器,最大可以存255

cs:ip  //指向程序下一条执行的指令
ds     //数据段寄存器
ss     //栈段寄存器
sp     //栈顶指针

物理地址=段地址*16(十进制)+偏移地址
物理地址=段地址*10(十六进制)+偏移地址
物理地址20030 段地址2000 偏移地址30

Debug的常用命令
r //查看和修改寄存器
d //查看内存
e //修改内存
u //反汇编
t //单步执行
a //写汇编指令
g //相当直接运行
p //执行完返回

jmp 2000:0030  //相当于mov cs,2000;mov ip,0030,但不能直接给段寄存器传数据

//计算2的n次方
2000:0000 mov ax,1
2000:0003 add ax,ax
2000:0005 jmp 2000:0003


//查看rom的刷写时间,但是无法修改
-d fff0:0000 ff


//ds段寄存器不能直接传递数据,可以通过寄存器来传递
mov bx,1000
mov ds,bx
mov al,[0]
mov [10],al

//压栈和出栈,一个栈的最大是0-ffffh,64KB
mov ax,1000H
mov ss,ax
mov sp,ffea
push ax  //sp减2
push bx  //sp减2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值