chn域名网站,珠海专业网站制作平台,网站设计客户案例,专业外包网站建设公司一、实验目的 1. 掌握顺序程序设计方法 2. 掌握汇编语言编程设计方法。
二、实验内容
1.用查表的方法将一位十六进制数转换成它相应的ASCII码。 代码及注释#xff1a;
Data segment ;定义数据段Tab db 30h,31h,32h,33h,34h,35,36h,37h,38h,39h ;定义一个Tab的字节型…一、实验目的 1. 掌握顺序程序设计方法 2. 掌握汇编语言编程设计方法。
二、实验内容
1.用查表的方法将一位十六进制数转换成它相应的ASCII码。 代码及注释
Data segment ;定义数据段Tab db 30h,31h,32h,33h,34h,35,36h,37h,38h,39h ;定义一个Tab的字节型数组包含了16进制数0到9对应的ASCII字符Db 40h,41h,42h,43h,44h,45h,46h ;定义另一个字节型数组包含了16进制数A到F对应的ASCII字符。Hex db A ;存储16进制数A的字节型变量asch db 6 ;asch字节型变量 初始值6ascl db 7 ;ascl字节型变量 初始值7
Data ends
Code segment ;定义代码段Assume cs:code,ds:data ;让代码段的段寄存器为cs数据段的段寄存器为dsStart:push ds ;程序入口将数据段的段地址压入栈保存数据段地址Xor ax,ax ;让寄存器ax与自身异或操作即清零Mov ax,data ;将数据段地址给寄存器axMov ds,ax ;将ax的地址给数据段寄存器dsAal:mov al,hex ;将变量Hex中的A移给寄存器alMov ah,al ;将al中的值移动到寄存器ahAnd al,0f0h ;将al中的值与0F0H进行按位与操作Mov cl,04h ;将寄存器cl设置为04HShr al,cl ;将al中的值逻辑右移cl位Mov bx,offset tab ;将Tab数组的偏移地址加载到寄存器bx中Xlat ;使用bx寻址将al中的值作为偏移地址找到对应位置的元素将其放入al中Mov asch,al ;将al中的值存储到Asch变量中Mov al,ah ;将寄存器ah的值移动到al中And al,0fh ;将al中的值与0FH进行按位与操作Xlat ;使用bx寻址将al中的值作为偏移地址找到对应位置的元素将其放入al中Mov ascl,al ;将al中的值存储到Ascl变量中Nop ;空操作 占位Mov ah,4ch ;将4CH加载到寄存器ah中表示程序结束的系统调用号int 21h ;调用21H中断结束程序
code ends
End start ;程序结束标记指定程序的入口点为start 运行结果展示 2.编制一个程序输入一个小写字母转为大写字母后输出。 代码及注释
Data segment ;定义数据段msg db Enter a lowercase letter: $ msd db Output uppercase letters: $ input db 0 ;定义一个字节型变量用于存储输入的字符output db 0 ;定义一个字节型变量用于存储转换后的字符
Data ends
Code segment
assume cs:Code, ds:Data
start:mov ax, Data ; 初始化数据段mov ds, axmov ah, 09h ; 显示提示信息lea dx, msgint 21hmov ah, 01h ; 读取键盘输入int 21hmov input, almov bl, input ; 将输入的字符存入 bl 寄存器and bl, 11011111b ; 将小写字母转换为大写字母mov output, bl ; 存储转换后的字符mov ah, 09h ; 显示提示信息lea dx, msdint 21hmov ah, 02h ; 显示转换后的大写字母mov dl, outputint 21hmov ah, 4ch ; 程序结束int 21h
Code ends
End start 运行结果及展示