汇编练习-如何在屏幕上显示二进制数

汇编的基本组成主要包括

  1. 数据段 ds
  2. 代码段 cs
    代码的主要组成是指示性语句指令性语句构成

指令性语句: 主要由指令构成的语句,
其格式为: [标号:]操作码[操作数][;注释]例如: LOP:ADD AL,[BX] 注意:标号(这里是LOP)必须用“:”结尾。标号一般作为在下面的某一步转移时用来标记的位置 如下面的第13行的t:和第20行的loop t loop就是用来跳转的指令。

指示性语句:要是由命令(亦称为伪指令)构成的指令,是用来只是汇编程序进行汇编 操作的,
其格式为: [名字/变量]命令 参数[;注释]如mov cx,16就是将16 送到cx里面存储。

下面是显示二进制数的汇编代码

;定义数据段
data segment
dat1 dw 5678H;dw是表示字,db标志字节,dd表示双字
data ends;每定义一个段时都要有结束的标志
;声明
code segment
assume ds:data,cs: code
start:
mov ax ,data;
mov ``ds,ax
;ds是数据段寄存器,你可能会疑惑为什么不能直接mov ds, data特定用法哈
mov bx,dat1;将dat1容器内的值赋值给bx
mov cx,16;cx一般作为计时寄存器特定功能
t:
rol bx,1;左移1位将首个二进制放到最后一位
mov dx,bx;将bx放到ds中因为如果再对bx操作的话会影响结果mov dl,bl
and dx ,01h;这样写浪费内存可以改为and dl,01h因为dx的容器分为低八位dl和高八位dh
add dx,30h;这是将dx里面的值与30h相加 这是得到0-1的方法可以查ascii表会发现30h的位置是0,。
mov ah,02h
int 21h;以上两句是打印到屏幕上的特定用法
loop t;判断的一句就是cx-1如果不为零就执行跳转指令如果为零就不执行跳转指令
mov ah,4ch
int 21h;以上两句是返回dos界面的特定写法
code ends
end start

显示如下:显示的结果是以BCD码的形式显示的
在这里插入图片描述

你可能感兴趣的:(汇编,汇编显示二进制数)