汇编

注意:文件名不能以数字开头
1.切换到MASM5文件夹下。
将程序保存为asm格式,
cmd中运行masm test;生成obj文件
cmd中运行link test;生成exe文件
cmd中运行debug test.exe

//**安全退出程序**
mov ax,4c00h
int 21h

段寄存器CS

对于程序运行后看不到结果,是因为程序没有向显示器输出信息

计算2+2

assume cs:code
code segment
        mov ax,2
        add ax,ax

        mov ax,4c00h
        int 21h
code ends
end

计算2的5次方
N的2次方可用N+N实现

assume cs:code
code segment
        mov ax,2
        mov cx,5 ;cx中存放循环次数

      s:add ax,ax
        loop s

        mov ax,4c00h
        int 21h
code ends
end

loop指令格式

mov cx,循环次数
s:  循环执行的程序段
loop s

当执行loop s的时候进行两步操作:
1.(cx)=(cx)-1;
2.判断cx中的值,不为0则转至标号s,若为0则执行下一条指令(mov ax,4c00h);

计算ffff:0006单元中的数乘以3,结果存储在dx中
ffff:6单元是一个字节单元,而ax是一个16位寄存器,数据长度不一样。若要ax中的值和ffff:0006单元中的相等,ax中数据要为00XXH,所以应该令ah(ax的高八位)=0

assume cs:code
code segment
     mov ax,0fffh ;大于9FFFH的16进制数据A000H...FFFH等都是以字母开头,而在汇编程序中数据不能以字母开头,所以要在前面加上0
     mov ds,ax  ;ds存放数据段基地址
     mov bx,6  ;bx为基址变址寄存器

     mov al,[bx];以上设置(al)=((ds*16)+(bx)),(ah)=0
     mov ah,0

     mov dx,0   ;将结果保存到dx中

     mov cx,3
s:add dx,ax
     loop s

     mov ax,4c00h
     int 21h

code ends
end

INT是interupt中断的缩写,INT 21H是指DOS的中断调用命令,最常用的包括:01H、07H和08H —从标准输入设备输入字符
02H —字符输出
03H —辅助设备的输入
04H —辅助设备的输出
05H —打印输出
06H —控制台输入/输出
09H —显示字符串
0AH — 键盘缓冲输入
0BH —检测输入状态
0CH —清输入缓冲区的输入功能用法如下:MOV AH 09H
INT 21H

JE ;等于则跳转
JNE ;不等于则跳转

JZ ;为 0 则跳转
JNZ ;不为 0 则跳转

JS ;为负则跳转
JNS ;不为负则跳转

JC ;进位则跳转
JNC ;不进位则跳转

JO ;溢出则跳转
JNO ;不溢出则跳转

JA ;无符号大于则跳转
JNA ;无符号不大于则跳转
JAE ;无符号大于等于则跳转
JNAE ;无符号不大于等于则跳转

JG ;有符号大于则跳转
JNG ;有符号不大于则跳转
JGE ;有符号大于等于则跳转
JNGE ;有符号不大于等于则跳转

JB ;无符号小于则跳转
JNB ;无符号不小于则跳转
JBE ;无符号小于等于则跳转
JNBE ;无符号不小于等于则跳转

JL ;有符号小于则跳转
JNL ;有符号不小于则跳转
JLE ;有符号小于等于则跳转
JNLE ;有符号不小于等于则跳转

JP ;奇偶位置位则跳转
JNP ;奇偶位清除则跳转
JPE ;奇偶位相等则跳转
JPO ;奇偶位不等则跳转

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值