取输入字符串并在NASM中转换为十进制

时间:2014-11-07 22:09:12

标签: assembly stack printf nasm multiplication

我是一名初学程序员,特别是在装配方面。 基本上我要做的是将一个字符串作为输入。说" 6"然后程序应该将其转换为十进制,将其乘以13并输出结果。 我的教授给了我一些关于如何做到这一点的提示,但由于我是初学者,我不知道该怎么做。我已经附上了迄今为止所做的工作。

extern printf

SECTION .data
string: db "string = %s",10,0
fmt1: db "After multiplying number by thirteen = %d",10,0

SECTION .text

global main
main:

enter 0,0
pusha

mov eax, dword [ebp+8]
push eax
push string
call printf
add esp, 8

mov eax, dword [ebp+12]
mov ebx, dword [eax]
push ebx

mov eax, 0
mov al, [string]
mov eax, '0'
mul eax

push eax
push fmt1
call printf
add esp,8

popa
leave
ret

谢谢你的帮助。

0 个答案:

没有答案