我写了一个汇编程序(x86_64的Linux的NASM)读取用户输入打印整数安慰,总部设在算法提出我的意见在这个post,这基本上是这样的: divide number x by 10, giving quotient q and remainder r
emit r
if q is not zero, set x = q and repeat
所有下面的脚本下工作得很好: section
我写了一个引导程序和使用NASM汇编(不AS86)编译它,一切都完美的工作。 现在,我想学习如何插入16位C代码到我的应用程序。我从几个SO中读到bcc被推荐用于这种情况,因为它支持8086处理器。 在我的代码与C测试代码组合我面临以下错误:ld86: testasm.o has bad magic number 我我的代码减少为以下: testasm.asm: [bits 16]
global
我正在使用x86_64 Linux Assembly,我被要求将一个字符的三个低位(来自用户输入)设置为1,然后打印出结果字符。为了说明 Input: b ; ASCII in binary: 01100010
Set the last 3 bits to 1:
01100010 -> 01100111
Output: g ; ASCII in binary: 01100111
我曾经计划在DOS下为;#提交一个简短而快速的解释程序,当我发现DOS不解释#键正确。 它可能会更好,开始通过小的例子,也表现出行为的解剖它: org 0x100
L:
mov ah, 01h ; new input -> al
int 21h
test al, '#' ; check if the hash key was pressed
jnz end ; i