【Updating】汇编语言学习记录02
2021-03-14 01:39
标签:offset updating sum pre 代码 中断 segment 学习记录 img 前置知识: 换码指令执行前,一般在主存建立一个字节量表格(如下代码4-6行),内含要转换成的目的代码表格首地址存放于BX,AL存放相对表格首地址的位移量。 换码指令执行后,将AL寄存器内容转换为目的代码。 系统功能调用:21号中断,是DOS提供给用户用于调用系统功能的中断,有近百个功能供使用。 字符输出的功能调用:DOS功能调用 功能号:AH= 内存中存储的数据: 运行结果: 【Updating】汇编语言学习记录02 标签:offset updating sum pre 代码 中断 segment 学习记录 img 原文地址:https://www.cnblogs.com/J-StrawHat/p/14040100.html换码指令、字符的输出
XLAT
指令:将BX指定的缓冲区中、AL指定的位移处的一个字节数据取出赋给AL,实际相当于(AL) = (DS:(BX+AL))
。注意,不是单纯地赋予AL+BX,而是对应地址的值。
INT 21H
02H
;入口参数:DL=字符的ASCII码
;功能:在显示器当前光标位置显示给定的字符,光标右移一个字符位置。assume cs:codesg, ds:datasg
datasg segment
ASCII db 30h,31h,32h,33h,34h,35h
db 36h,37h,38h,39h ;0~9的ASCII码
db 41h,42h,43h,44h,45h,46h ;A~F的ASCII码
hex db 09h ;任意设定了一个待转换的一位16进制数,这里以‘0f‘为例
datasg ends
codesg segment
start:
mov ax, datasg
mov ds, ax
mov bx, offset ASCII ;bx存储标号ASCII的偏移地址(将其作为基准值)
mov al, hex ;将待转换的16进制数放到低位寄存器
and al, 0fh ;按位与,对8位的前4位清0(因为实验只要求输出后4位)
xlat ;换码:al
hex赋值
0fh
09h
运行结果
上一篇:java中的fianl关键字
下一篇:vuejs实现全选功能
文章标题:【Updating】汇编语言学习记录02
文章链接:http://soscw.com/index.php/essay/64371.html