Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
NASM:磁盘读取超时
尝试从磁盘 从同一文件 读取数据 将另外 2 个 512 字节扇区加载到内存中 磁盘读取功能如下 read DH sectors to ES BX from drive DL disk read push dx push bx Tried
Assembly
nasm
x8616
BootLoader
harddrive
从 C 调用 Intel 8086 汇编程序
我需要为汇编语言开发一个过程 并从 C 语言调用该过程 传递一个字符串并返回一个整数值 我的组装程序 独立 运行良好 我需要帮助将它们连接在一起 程序应该在 Intel 8086 上运行 我需要使用 MASM 或 emu8086 作为汇编器
c
Assembly
intel
x8616
当垂直回扫位被清除时,VGA 卡是否会读取像素缓冲区?
我正在开发一款使用视频模式 13h 的 DOS 游戏 我一直遇到屏幕撕裂的问题 但直到今天我一直忽略这个问题 我认为修复这将是一个挑战 因为它将涉及延迟像素写入一段精确的时间 但这实际上是一个非常简单的修复 您所要做的就是等待重新设置 VG
Assembly
x8616
VGA
实模式 BIOS 例程和保护模式
我正在做一些操作系统实验 到目前为止 我的所有代码都利用实模式 BIOS 中断来操作硬盘和软盘 但是一旦我的代码启用了CPU的保护模式 所有实模式BIOS中断服务程序将不可用 如何读写硬盘和软盘 我现在需要做一些硬件驱动程序吗 我该如何开始
Assembly
operatingsystem
x86
x8616
protectedmode
如何在8086汇编中减去两个64位整数
编写一个名为 SUB64 的程序 用 0x0160 和 0x0164 中的 64 位整数减去内存位置 0x0150 和 0x0154 中的 64 位整数 将结果存储在内存位置 0x0170 和 0x0174 中 我理解将其分成更小的部分背后
Assembly
nasm
x8616
DOSBOx
为什么我的汇编输出位于字母位置? (1+1=b)
我正在使用塔斯姆 这是一个简单的程序 可以读取用户的输入并将两个数字相加 但是 我的输出是根据字母位置显示字母 例如 3 5 h 8 我希望它以整数显示 model small stack 100h data input db 13 10
Assembly
DOS
x8616
tasm
DOSBOx
使用汇编器(NASM 32 位)输入和处理 IEEE 784 上的浮点数
我正在大学学习计算机体系结构科目 我被分配编写一个工具 该工具将浮点数作为输入 我想将其存储在内存中并打印出 IEEE 784 标准中数字的二进制表示形式的十六进制形式 现在我确定了 IEEE 784 纸上将任何十进制浮点数转换为其二进制形
Assembly
x86
x8616
8086 汇编语言中的换行符:我的文本打印为阶梯式
I m getting stair step output like this 我的程序工作正常 除了当我打印一个新行 然后打印当前行中的某些内容时 它会显示在下一行上 但前面有一些空格 程序是这样的 打印0到9的多个数字的表格 data
Assembly
DOS
x8616
这是在 Mul 中使用 cbw 的正确方法吗?
我从 8 位和 8 位寄存器得到乘法 但是 当你有一个 16 位和一个 8 位时 我们如何在乘法之前进行转换 问题 需要提供260 19的代码片段 并打印结果 我做了 mov Ax 260 mov Al 19 cbw Mul Ax PutI
Assembly
x8616
signextension
跳出范围解决方案以及不同指令如何影响范围
我一直在与错误 jmp out of range 作斗争 很多时候我需要从代码的不同部分运行子程序 就像在 C 中运行函数一样 我发现代码的两端都需要跳转到同一个地方 但两者却无法到达那里 解决这个问题的办法是什么 我还注意到 PRINT
Assembly
x8616
如何用汇编语言打印字符串
我正在尝试使用 NASM 在 Q Emulator 中打印字符串 我的代码如下 mov bx HELLO mov ah 0x0e int 0x10 HELLO db Hello 0 jmp times 510 db 0 dw 0xaa55
Assembly
nasm
x8616
qemu
BootLoader
NASM x86 16 位寻址模式[重复]
这个问题在这里已经有答案了 我在指向地址并在我的情况下写入字节大小的变量时遇到问题 这给了我错误 错误 无效的有效地址 mov byte AX byte 0x0 经过一番尝试和错误后 我测试了相同的结果 但使用的是 EAX 这编译得很好 m
Assembly
x86
nasm
x8616
addressingmode
缓冲输入如何工作
下一个程序中的输入 使用 DOS BufferedInput 函数 0Ah 工作正常 但是当我要求显示输出时 DOS 根本不显示任何内容 这怎么可能 ORG 256 mov dx msg1 mov ah 09h DOS WriteStrin
Assembly
input
DOS
x8616
将寄存器设置为零有多少种方法?
我很好奇在 x86 汇编中有多少种方法可以将寄存器设置为零 使用一条指令 有人告诉我 他设法找到了至少 10 种方法来做到这一点 我能想到的有 xor ax ax mov ax 0 and ax 0 在 IA32 下如何将 0 移动到 ax
Assembly
x86
x8616
tasm
8086边画边听键盘
我熟悉等待键盘输入的 INT 16h 但我正在开发一个游戏 我希望有一个游戏循环 它可以在屏幕上显示动画 并且只要有键盘敲击 8086 就应该运行到我的中断处理程序并告诉我按下了哪个键来相应地更新我的数据 我怎么能这样做呢 当调用 INT
Assembly
x86
DOS
x8616
与推送功能相同的指令序列
我想知道是否有可能 如果可以 如何 编写一系列具有相同效果的指令push 例如 如果内容ax是1200 我做了一个push ax 我还可以使用哪些其他指令来完成什么push ax does 其他一些答案使用 sp 用于堆栈寻址 但在 16
Assembly
x86
stack
x8616
8086组装师
我在下面的代码中遇到了这个问题 该代码将数字转换为 ASCII 数字文本 然而 代码似乎在 div 操作码处循环 Main Program main mov ax 0x0000 mov ds ax setup data segment re
Assembly
nasm
x8616
为什么LOOP在8086上比DEC,JNZ快?
我的教授声称 LOOP 在 8086 上更快 因为只获取一条指令而不是两条指令 就像dec cx jnz 所以我认为我们通过避免每次迭代的额外获取和解码来节省时间 但在讲座的早些时候 他还提到 LOOP 在底层与 DEC JNZ 做同样的事
performance
Assembly
cpuarchitecture
x8616
microprocessors
汇编扩展寄存器不工作
我对 Assembly 和 TASM 相当陌生 我有以下问题 我想使用寄存器的扩展版本 特别是 EBX 通过使用下面的代码 但没有 386 指令 它不起作用 说 未定义的符号 EBX 但有了它 它无法识别 INT 21h 指令 据我了解 该
Assembly
x8616
cpuregisters
tasm
什么是段以及如何在 8086 模式下寻址它们?
自从我开始使用 8086 汇编语言编程以来 我一直在思考这些段和段寄存器 我面临的问题是 我无法对脑海中的片段有一个直观的图像 因此我不清楚这些概念 谁能帮我理解这个概念将其与现实世界场景联系起来 我还有以下问题 问题一 据我了解 在启用2
Assembly
x86
operatingsystem
x8616
memorysegmentation
«
1
2
3
4
5
6
»