鱼C论坛

 找回密码
 立即注册
查看: 1904|回复: 2

[已解决]汇编语言

[复制链接]
发表于 2015-5-13 15:00:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs:code ss:data
data segment
dw 00,00,00,00,00,00,00
data ends
code segment
start:mov ax,data
mov ss,ax
mov ax,4
mov cx,2
push cx
d:mov cx,1
s:add ax,ax
loop s
pop cx
sub cx,1
push cx
loop d
mov ax,4c00h
int 21h
code ends
end start                  //计算4的3次方  哪里错了


最佳答案
2015-5-15 09:41:05
ss是存放栈的段地址,应该和stack相关联,而data是和ds相关联,用来存放代码
代码如下:
  1. assume cs:code,ss:stack

  2. stack segment stack
  3.         dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0
  4. stack ends

  5. code segment

  6. start:        mov  ax,stack
  7.                 mov  ss,ax
  8.                 mov  sp,20h   
  9.                 mov  ax,4
  10.                 mov  cx,4
  11.                 push cx
  12.         
  13.         
  14.         s:        add  ax,ax
  15.                 loop s
  16.                 pop  cx
  17.                 sub  cx,1
  18.                 push cx
  19.                
  20.                 mov ax,4c00h
  21.                 int 21h

  22. code ends

  23. end start   
复制代码


用t命令执行后其结果ax=0040h,及对应十进制中的64 捕获.PNG

                               
登录/注册后可看大图

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-5-14 17:48:07 | 显示全部楼层

哪里不对
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-5-15 09:41:05 | 显示全部楼层    本楼为最佳答案   
ss是存放栈的段地址,应该和stack相关联,而data是和ds相关联,用来存放代码
代码如下:
  1. assume cs:code,ss:stack

  2. stack segment stack
  3.         dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0
  4. stack ends

  5. code segment

  6. start:        mov  ax,stack
  7.                 mov  ss,ax
  8.                 mov  sp,20h   
  9.                 mov  ax,4
  10.                 mov  cx,4
  11.                 push cx
  12.         
  13.         
  14.         s:        add  ax,ax
  15.                 loop s
  16.                 pop  cx
  17.                 sub  cx,1
  18.                 push cx
  19.                
  20.                 mov ax,4c00h
  21.                 int 21h

  22. code ends

  23. end start   
复制代码


用t命令执行后其结果ax=0040h,及对应十进制中的64 捕获.PNG

                               
登录/注册后可看大图

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-3 12:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表