汇编语言源代码:
assume cs:code,ds:data
data segment
DB 080H,001H, 080H, 001H, 080H, 001H, 080H, 001H, 0FCH, 03FH, 0FCH, 03FH, 08CH, 031H, 08CH, 031H;
DB 08CH, 031H, 0FCH, 03FH, 0FCH, 03FH, 08CH, 031H, 080H, 001H, 080H, 001H, 080H, 001H, 080H, 001H;
DB 1H,2H,4H,8H,10H,20H,40H,80H ;用于过滤 01 10 100 1000 10000 100000 1000000 10000000
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov si,0
mov di,500h
mov cx,16
show:push cx
mov cx,2
showByte:push cx
mov bx,20h
mov ah,[si]
mov cx,8
showBit:push cx
mov dl,ah
mov dh,[bx]
and dl,dh
mov cx,0
mov cl,dl
jcxz a
mov byte ptr es:[di],2ah ;cx!=0 低位*
inc di
mov byte ptr es:[di],14h ;背景蓝字体红
inc di
jmp b
a: mov byte ptr es:[di],20h
inc di
mov byte ptr es:[di],20h ;背景绿字体蓝
inc di
jmp b
b: inc bx
pop cx
loop showBit
inc si
pop cx
loop showByte
add di,128
pop cx
loop show
mov ax,4c00h
int 21h
code ends
end start
用汇编语言显示“中”
首先用masm编译该源代码,生成.obj文件;
再用link链接该文件生成的.obj文件,生成.exe文件
再用debug命令运行该.exe文件,执行g命令,就显示如图所示的“中“字
注意:如果在masm过程中出现out of memory;可能是因为源程序中的逗号或分号处于中文状态下,改成英文状态,该错误就会消失。
这是本人最近写的小的汇编程序,欢迎大家批评指正。