Al:从零开始的汇编语言1

本文介绍了如何使用汇编语言将0000:3000H起始的16字节内存区域依次赋值为00H到0FH,详细阐述了基础的汇编指令和步骤。
摘要由CSDN通过智能技术生成

任务:把0000:3000H开始的连续16字节空间分别赋值为00H到0FH

CODE SEGMENT;定义代码段
	ASSUME CS:CODE
START:
	SUB AX,AX;将AX中数据清零
	MOV DS,AX;将AX中数据传给DS,即DS清零
	MOV SI,3000H;将SI赋值为3000H,此时地址即为0000:3000H
	MOV CX,16;将16赋值给CX
AA1:
	MOV [SI],AL;AL此时为0,将AL中的值传给偏移地址为SI的存储空间
	INC SI;SI自增1
	INC AL;AL自增1
	LOOP AA1;循环AA1片段,LOOP指令每执行一次自动将CX值减一,直到CX为零退出
	MOV AH,4CH;4CH,返回DOS系统的入口参数
	INT 21H;DOS功能调用
CODE ENDS;代码段结束
	END START

将一个寄存器中的值清零,常用的命令有

SUB AX,AX
或者

XOR AX,AX
调用LOOP指令需要事先为CX赋值,CX中的值即为LOOP指令需要执行的次数,与C语言中的

int a = 一个数;
while(a){
    ...
    a--;
}
功能类似
INT 21H
是DOS功能调用指令,需要把功能号放在AH中,经过测试,AL中的值不影响功能调用,也就是上面代码段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值