x86-16

    2热度

    1回答

    根据这个网页:http://stanislavs.org/helppc/8042.html键盘控制器维护它自己的内部16字节的make/break代码缓冲区。 “键盘的内部控制器最多可缓冲16个字节的制造/中断代码信息,这在所有PC系统中都很常见,不应与BIOS维护的(32字节)键盘缓冲区混淆。 能够访问此缓冲区对我来说在我的8086汇编语言程序中非常有用(假设更新速度比BIOS维护的32字节缓冲

    0热度

    2回答

    如何在只使用新行代码的情况下打印新行3次尽管输入了相同的代码3次 include emu8086.inc ORG 100h PRINT 'ENTER THREE INITIALS: ' MOV AH,1 INT 21H MOV BL,AL INT 21H MOV CL,AL INT 21H MOV BH,AL

    1热度

    1回答

    我正在使用dosBox和nasm来运行此程序。我正在编写一个汇编程序,它接收用户输入的字符串,然后从该字符串中提取每个字符并将其放入一个寄存器。我认为做mov字节阿尔,msg2会做的伎俩。不过,我收到一个错误,OBJ输出驱动程序不支持一个字节的搬迁。”我如何采取一个字符一个字符串的时间,并将其存储到寄存器? %include "io.mac" .STACK 100H .DATA ms

    1热度

    1回答

    自从我停止使用某些代码语言以来,已经有一段时间了,并且自从前几天在学校开始我进行汇编,我想开始理解某些代码行的背后的一些逻辑。 其实,我试过的是两个变量之间简单的ADD操作。我使用emu8086来模拟我的代码,然后我会告诉你为什么我无法理解它。 的代码如下: stack segment dw 128 dup(0) ends data segment x DB 3

    0热度

    3回答

    我是x86-16位编程的新手。我非常难以正确地调用函数2来单独从字符串中读取字符。如果有人有任何想法,将不胜感激。下面的代码显示了我目前的尝试(其中之一)。 .model small .data message db "Hello, DOS Here!", 0dh, 0ah .code main proc mov ax, @data

    0热度

    1回答

    我已经创建了一个包含不同功能的程序,具体取决于按键的操作。我的程序在该文件夹内创建一个文件夹,然后创建一个.txt文件。我想显示文件夹中的.txt文件的更新列表,因为我添加了更多并检查它。 但是,当我运行我的程序时,它只显示创建的最新.txt文件。我该如何解决这个问题并显示所有.txt文件的列表? 声明的变量: file_spec db "*.*", 0 DTA db 128h dup(0)

    -1热度

    1回答

    我需要从我的引导装载程序装载里面的一些基本(.BAS)文件。 我的引导装载程序是非常基本的,和所有它应该做的是显示一些文本和.BAS文件加载到内存并执行它。 (我很新的组件和不完全了解它,所以你可能要解释一些事情。) 这里是我的简单的代码到目前为止(它是所有显示的文本。): BITS 16 start: mov ax, 07C0h add ax, 288 mo

    1热度

    1回答

    是否可以将8位值推入堆栈?当我尝试将AL推送到堆栈时,NASM给出错误;后来,我发现这是因为堆栈保存了16位值。将8位值推入堆栈的正确方法是什么? (这是为8086)

    0热度

    1回答

    下面的代码应该添加两个一维矩阵并显示总和。程序获取第二个矩阵的输入时出现问题:rd_next循环永远不会结束。然而,它需要第一个矩阵的输入很好。 data_seg segment mat1 dw 3 dup(?) mat2 dw 3 dup(?) n db 3 ten dw 10 counter db ? string db 10 dup(?) msg1 db 10,13,"Ente

    0热度

    1回答

    我是emu8086中的一个begginer,而且我似乎无法修复此代码。我需要从十进制转换为二进制,有时它做得很好,例如,当我使用像4,8,15,16,255这样的数字时,一切正常。但是,如果我使用例如2,9,17,254,它不会显示正确的数字。我真的需要帮助。 .model small .data exp db 8 dup (?) num dw 09 var dw 2 .cod