. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  我刚做的【检测点2.1】,请大家指教  [已解决] 回复[ 3次 ]   点击[ 365次 ]  
regex
[帖 主]   [ 发表时间:2009-12-20 18:32 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
(1)写出每条汇编指令执行后相关寄存器中的值。

mov ax,62627    ax=f4a3 
#由于ax是16位寄存器, 我先将其转换为二进制和十六进制,即:1111010010100011/F4A3,

mov ah,31h      ax=31a3

mov al,23h      ax=3123

add ax,ax       ax=6246

mov bx,826ch    bx=826c

mov cx,ax       cx=6246

mov ax,bx       ax=826c

add ax,bx       ax=04d8
#结果是104D8H, 因为ax是16位寄存器只能存放4位十六进制数据,所以最高位的1丢弃

mov al,bh       ax=0482

mov ah,bl       ax=6c82

add ah,ah       ax=d882

add al,6        ax=d888

add al,al       ax=d810
#由于al是8位寄存器只能存放2位十六进制数据88h+88H=110h,故最高位的1丢失

mov ax,cx       ax=6246

(2)只能用目前学过的汇编指令, 最都使用4条, 编程计算2的4次方。

mov ax,2
add ax,ax
add ax,ax
add ax,ax
------------------------------------------------------------------------------

另:书里说一个16位寄存器能存贮的数据最大值是多少? 
我觉得应该是2bytes呢还是16bits呢?

谢谢大家
sk_roger
[第1楼]   [ 回复时间:2009-12-20 18:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-20 15:17
16bit就是2b呀..
regex
[第2楼]   [ 回复时间:2009-12-20 18:52 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
16bit就是2b呀..
------------------
回复:
呵呵, 这个我知道的, 我觉得这书里的提问方式跟我感觉挺有意思的
regex
[第3楼]   [ 回复时间:2010-01-01 15:31 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
此贴由 贴主 于 [ 2010-01-01 15:31 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved