汇编语言:使用汇编程序计算2的8次方

预备知识

在博客 汇编指令:使用汇编指令计算2的8次方 中使用汇编指令进行计算的,太不可科学了,是用来熟悉汇编 练习指令滴。这次我们用真正的汇编语言进行编程来计算2的8次方

在本程序中,没有直接的数学库什么之类的快捷算法,只有 笨拙的累加,循环的进行累加,循环的功能还是有的,计算机最擅长的当然是循环了。

在本程序中,会用到loop 循环指令,mov 传送指令 ,将寄存器内容送到内存单元中...。如果看不懂请看书去。

汇编程序编写格式,编写指令段的格式

;汇编计算 2的8 次方,将计算结果放到0020:0的连续地址上。
assume cs:code	;标明code 为指令段和cs段寄存关联
code segment 	;segment 和 end 成对出现 定义一个段
	;汇编代码...
	mov ax,4c00h	;这2条语句实现的功能是程序的返回,放在程序末尾
	int 21h			
code ends
end	;汇编程序结束标志

代码展示

;汇编计算 2的8 次方,将计算结果放到0020:0的连续地址上。
assume cs:code	;标明code 为指令段和cs段寄存关联
code segment 	;segment 和 end 成对出现 定义一个段
	mov ax,0020h
	mov ds,ax
	mov ax,2	;初始化值为2 
	mov cx,7	;cx控制 loop 循环指令 执行次数 7次
	s:
		add ax,ax	;对ax 进行累加 2+2 = 2^2 = 4, 4+4=2^3 ...
	loop s
	mov ds:[0],ax	;将计算结果值放到0020:0内存单元
	
	mov ax,4c00h	;这2条语句实现的功能是程序的返回,放在程序末尾
	int 21h			
code ends
end	;汇编程序结束标志

运行结果

顺便说下汇编源程序的编译、连接、和调试。

汇编源程序是通过masm.exe 进行编译,通过 link.exe 将 obj文件进行连接,然后生成 .exe可执行文件

调试可以用t命令 一步一步执行 程序,可以 g命令 直接将程序执行完


结果可以看到懂么,0020:0000 内存单元值为0,0020:0001内存单元 是01 ,高位存高字节低位存低字节,2个连续内存单元的值为0100H 16进制转出10进制就是 256!


  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值