Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
实模式内存寻址中的段和偏移量是什么?
我正在阅读有关内存寻址的内容 我阅读了有关段偏移的内容 然后阅读了有关描述符偏移的内容 我知道如何在实模式下计算确切的地址 这一切都可以 但我无法理解偏移量到底是什么 我到处读到 在实模式下 寄存器只有16位 因此只能寻址 高达 64k 为
Assembly
x86
x8616
realmode
memorysegmentation
使用通过参数传递的偏移量计算过程内部数组的长度,汇编语言 x8086
所以我试图通过使用参数中的偏移量来获取数组的长度 但它只返回 lenhof 偏移量 我有什么办法可以做到这一点吗 INCLUDE Irvine32 inc multiply proto arr ptr dword data array dw
Assembly
offset
x8616
PROCEDURE
MASM
汇编中的 MUL 函数
我正在尝试在汇编中执行简单的乘法 但是 当MUL函数被调用 mov bx 5 mov cx 10 mul cx 这些被称为指示 并且他们指定运营由处理器执行 mov是一个助记符move 同时mul是一个助记符mul尖利的 其他常见指令包括a
Assembly
x86
x8616
multiplication
INT 21h 不打印
我想知道为什么这个程序不打印 print push ax push bx push dx mov ah 02h ciclo mov al si int 21h inc si loop ciclo pop dx pop bx pop ax r
Assembly
x86
x8616
IDIV 汇编语言的问题
CX 等于 14 AX 等于 16 IDIV CX 但 ALL 中的某个地方有 37 个 该行之前没有任何错误或错误 我哪里做错了 谢谢你 附注在Emu8086上写 IDIV CX除 32 位值DX AX by CX 并将商存储在AX和剩余
Assembly
emulation
x8616
提高 8086 二进制 -> 格雷码的效率
我是汇编初学者 这是我设计的代码 用于从二进制转换为灰度 并以十六进制打印生成的位模式 mov al a mov bl al shr bl 1 xor al bl 虽然程序可以运行 但我想了解其他更简单的方法来提高效率 我尝试了很多其他方法
Assembly
Hex
x8616
microoptimization
graycode
是否有 FAT FS 驱动程序希望引导扇区的字节 508 和 509 为零?
在实施的同时我自己的引导扇区加载程序从 2012 年开始 https hg ulukai org ecm ldosboot rev 17884e6352e6 l1 255我确保将偏移量 508 和 509 处的字节清零 这些是标准 512
Windows
DOS
x8616
BootLoader
FatFs
用 DOS 显示数字
我的任务是编写一个程序来显示我的线性地址 程序的PSP 我写了以下内容 ORG 256 mov dx Msg mov ah 09h DOS WriteStringToStandardOutput int 21h mov ax ds mov
Assembly
DOS
x8616
integerdivision
signedinteger
使用 int 13h 读取的扇区数量多于磁道上的扇区数量
顺序是什么int 13h with ah 02h会读19部门起始于 C H S 0 0 1 提供了 2 个磁头 每磁道 18 个扇区 每面 80 个磁道的 软盘 磁盘几何结构 或者 更一般地说 当它到达磁道 0 的末尾 磁头 0 时会发生什
x86
x8616
BootLoader
BIOS
floppy
引导扇区编程中的无限跳转有什么用
我正在读一本关于如何构建操作系统的书 我浏览了这段代码 所有代码所做的就是打印 hello 但我想了解更多关于无限跳转的信息 mov ah 0x0e mov al H int 0x10 mov al e int 0x10 mov al l
Assembly
infiniteloop
x8616
BootLoader
Boot
ORG指令后设置段寄存器
我目前正在关注操作系统开发教程 http brokenthorn com Resources OSDev4 html 其中包括有关引导加载程序的讨论 我的引导加载程序当前处于 16 位实模式 因此 我能够使用提供的 BIOS 中断 例如 V
nasm
x8616
cpuregisters
Segment
memorysegmentation
8086汇编程序存储唯一值
我一直在制作这个程序 它接受一个列表并在其中查找唯一元素并将其存储在另一个列表或寄存器中 下面的代码将主列表放入 SI 寄存器中 然后 BX 充当指针 遍历整个数组以查找相似之处 如果没有找到相似之处 则 SI 中的元素 存储在 AL 中
Assembly
x86
DOS
x8616
MASM
8086 汇编中的大二进制移位?
我有一个 512 字节长的二进制数据块 我想知道如果我想将其右移一次 最有效的方法是什么 我现在最好的猜测 对于汇编来说非常新 是我必须首先检查一个块 可能是 int 看看它将移出什么 移出 然后携带先前 int 移出的任何内容并继续携带这
Assembly
Logic
bitshift
x8616
为什么 cmpsb 似乎不比较寄存器的值?
我正在尝试以 16 位实模式编写 DOS 克隆 尽管一旦我完成了当前问题 我可能只会学习 32 位汇编 我的问题过去一直受到负面回应 但这是最后一次 恐怕我确实需要咨询这个网站 改进我之前的问题 我付出了更多努力来了解有关汇编代码中的指针和
Assembly
nasm
x8616
如何检查emu8086中CF标志是否为1?
我试图找出 CARRY 标志是否为 1 但我不知道如何检查它 我编写了下面的代码 但我需要一些帮助来处理我输入的问号 LEA DX MSG MOV AH 09H INT 21H MOV AH 01H INT 21H MOV NUM AL S
Assembly
x86
emu8086
x8616
从给定的物理和有效地址查找段地址
如何从给定的数据中找到段地址 物理地址 0x119B 有效地址 0x10AB 公式可能是什么 x86 16位实模式下的有效地址只是20位的偏移量部分段 偏移量 address https thestarman pcministry com
Assembly
x8616
realmode
memorysegmentation
如何在 DOS 汇编中正确挂接中断 28h 并恢复它?
我试图将中断28h的处理程序设置为我自己的例程 恢复所有涉及的寄存器和标志 并恢复原始的中断处理程序 我在 VirtualBox 中的 DOSBox 和 MS DOS 6 22 下使用 NASM Assembler 我考虑过调试 但在 TS
Assembly
DOS
interrupt
x8616
DIV指令跳转到随机位置?
所以我有这个确切的问题 https stackoverflow com questions 8236636 8086 assembly div going ape ip jumping to a weird location endless
Assembly
x86
x8616
DOS
tasm
DOSBox 上的 8086 程序集: idiv 指令有错误?
我正在帮助我的一个朋友调试他的程序 我们将其范围缩小到甚至在这里出现的问题 MODEL small STACK 16 CODE start mov ax 044c0h mov bl 85 idiv bl exit mov ax 4c00h
Assembly
x86
x8616
tasm
DOSBOx
在程序集中写入文件时出现问题
我正在尝试用汇编语言编写一个简单的程序 在其中打开一个现有文件并在其中写入一条消息 这是我在数据段中定义的消息 当我想写入文件时会出现问题 在我尝试写入后 AX 寄存器将包含 5 诺顿专家指南称这是 拒绝访问 错误代码 关于我做错了什么有什
Assembly
x86
DOS
x8616
«
1
2
3
4
5
6
»