标题:小白求助如何打印变量值
取消只看楼主
batsom
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-9-20
结帖率:100%
已结贴  问题点数:20 回复次数:1 
小白求助如何打印变量值
section .data
massage:   dw "1+2+...+100="
Len: equ $ - massage
valueToPrint: db 0

;section .bss
 ;valueToPrint: resb 4

section .text
global main

main:
   mov ebp, esp; for correct debugging
   mov eax,0
   mov ebx,0
   mov ecx,100
s:
   add ebx,1
   add eax,ebx
   loop s

;push eax

;sub eax,5H
;add eax,48H
mov [valueToPrint],eax

mov eax,4 ; 4号调用 sys_write的系统调用
mov ebx,1 ; ebx送1表示输出,参数1,文件描述符,stdout是1
mov ecx,massage ; 字符串的首地址送入ecx
mov edx,Len ; 字符串的长度送入edx
int 80h ; 输出字串

mov eax,4
mov ebx,1
mov ecx,valueToPrint
mov edx,4
int 0x80


mov ebx,0
mov eax,1
int 0x80
搜索更多相关主题的帖子: add mov 打印 变量值 int 
2021-09-20 15:07
batsom
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-9-20
得分:0 
唉!换了个方式:

section .data
massage:   dw "1+2+...+100=%d"

;section .bss
; valueToPrint: resb 4

section .text

global main
extern printf
extern exit

main:
   mov ebp, esp; for correct debugging
   mov eax,0
   mov ebx,0
   mov ecx,1000
s:
   add ebx,1
   add eax,ebx
   loop s

push eax
push massage
call printf

push  0
call exit     ; exit(0)
2021-09-20 19:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506925-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.341310 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved