网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
学 Win32 汇编[27] - 乘除指令: MUL、IMUL、DIV、IDIV
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/11/26
下载{$ArticleTitle}原创论文样式

1 2 3 下一页

  MUL: 无符号乘

;影响 OF、CF 标志位 
;指令格式: 
;MUL r/m ;参数是乘数 
 
;如果参数是 r8/m8,  将把 AL 做乘数, 结果放在 AX 
;如果参数是 r16/m16, 将把 AX 做乘数, 结果放在 EAX 
;如果参数是 r32/m32, 将把 EAX 做乘数, 结果放在 EDX:EAX 
 
 
; Test27_1.asm 
.386 
.model flat, stdcall 
 
include  Windows.inc 
include  kernel32.inc 
include  masm32.inc 
include  debug.inc 
includelib kernel32.lib 
includelib masm32.lib 
includelib debug.lib 
 
.data 
   val dd 8 
.code 
main proc 
  ;8 位 
   mov al, 0FFh 
   mul byte ptr val 
   PrintHex ax ;07F8 
   
  ;16 位 
   mov ax, 0FFFFh 
   mul word ptr val 
   PrintHex dx ;0007 
   PrintHex ax ;FFF8 
   
  ;32 位 
   mov eax, 0FFFFFFFFh 
   mul val 
   PrintHex edx ;00000007 
   PrintHex eax ;FFFFFFF8 
   ret 
main endp 
end main 
 
 
;把上面的例子稍作修改(mul -> imul), 得到了不同的结果: 
 
; Test27_2.asm 
.386 
.model flat, stdcall 
 
include  Windows.inc 
include  kernel32.inc 
include  masm32.inc 
include  debug.inc 
includelib kernel32.lib 
includelib masm32.lib 
includelib debug.lib 
 
.data 
   val dd 8 
.code 
main proc 
  ;8 位 
   mov al, 0FFh 
   imul byte ptr val 
   PrintHex ax ;FFF8 
   
  ;16 位 
   mov ax, 0FFFFh 
   imul word ptr val 
   PrintHex dx ;FFFF 
   PrintHex ax ;FFF8 
   
  ;32 位 
   mov eax, 0FFFFFFFFh 
   imul val 
   PrintHex edx ;FFFFFFFF 
   PrintHex eax ;FFFFFFF8 
   ret 
main endp 
end main 
(责任编辑:admin)

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号