zhuozhuo

 

[导入]汇编实验 移位操作

最近在上汇编的实验,把代码贴上来和大家交流交流。

实验二     非压缩/压缩十进制码转换程序的设计与实现(必做)

1.         实验二:非压缩/压缩十进制码转换程序的设计与实现

2.         实验目的:通过上机编程,熟悉CPU内部的寄存器等部件,掌握基本的汇编语言程序结构,并掌握汇编语言中移位指令的使用。

      3.         实验要求:       对于事先设定的一个简单的十进制数,如“0506h”,通过汇编语言将其表示变为压缩表示,如变为“56h”

 

                                     高八位     低八位
思路:十六进制数0506h对应16位二进制数 00000101 00000110

          十六进制数   56h对应16位二进制数 00000000 01010110

把0506h的高八位左移四位(即变为01010000)然后和其低八位相加,构成56h的低八位

代码如下:

code segment

start:
    mov dx,0506h ;把立即数0506h赋给寄存器dx,此时寄存器dx的高八位 dh为00000101 低八位dl为00000110
    shl dh,1 ;dx高八位dh向左移 下同
    shl dh,1
    shl dh,1
    shl dh,1 ;最终dh为 01010000
    add dl,dh ;此时把dx的第八位和高八位相加,把结果赋给dl
    sub dh,dh  ;清空dx寄存器的高八位 ()
    mov ah,2 ;把ax的高八位ah赋值为2
    int 21h   ;产生中断 检测ah的值 输出字符 v   
code ends        

end start

 

 

 

 

 



--------------------------
新闻:外刊评10款最烂操作系统 微软四款上榜
导航:博客园首页  知识库  新闻  招聘  社区  小组  博问  网摘  找找看
文章来源:http://www.cnblogs.com/minimdb/archive/2009/03/15/1412479.html

posted on 2009-03-15 16:12 卓卓 阅读(103) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

公告

常用链接

留言簿(1)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜