[汇编实现显示键盘ASCII值源代码]code segment publicassume cs:code,ds:codejmp startmsg db ’This program can show you the ASCII of characters or key binations’,0dh,0ahdb ’ I hope it would...+阅读
这个一个刚学习汇编的入门实例,想学汇编的朋友可以看看
assume cs:code
data segment
db ’Wele to masm!’,0
data ends
stack segment
db 100 dup(0)
stack ends
;以上定义数据段和栈段
code segment
start:
mov dh,18 ;dh来定位行
mov dl,23 ;dl来定位列
mov cl,02h
mov ax,data
mov ds,ax
mov si,0
call show_str ;调用子程序
mov ax,4c00h
int 21h
;下面是子程序
;========================================
show_str:
mov ax,stack
mov ss,ax
mov sp,100
mov ax,0b800h
mov es,ax
mov al,160
mul dh
mov bx,ax
mov al,2
mul dl
mov di,ax
do:
mov ch,0
push cx ;将颜色信息保存
mov al,[si]
mov ch,0
mov cl,al
jcxz out_show ;遇到0就跳出循环
pop cx ;将颜色信息回复
mov byte ptr es:[bx+di],al ;写入显卡,将字符显示
mov byte ptr es:[bx+di+1],cl ;在低位写入颜色信息
inc si
add di,2
jmp short do ;实现循环操作
out_show:
ret
code ends
end start
以下为关联文档:
HELLOWORLD进阶汇编程序系列TITLE ***HELLO,WORLD进阶程序之选择分支 BY LLUCT*** DATA SEGMENT ;定义数据段 MSG1 DB '***WELE TO MY PROGRAM BY LLUCT***','$' ;定义输出的第一个字符串信息,字符串必...