标签: x86-16

如何在8086中检查辅助标志的值

我想知道是否设置了辅助标志?我怎么能在大会上做到这一点.任何帮助将不胜感激.

assembly x86-16

2
推荐指数
1
解决办法
2018
查看次数

划分emu 8086汇编错误

可能重复:
ASM x86整数溢出

我得到一个除错误溢出,我不知道为什么.这是重现错误的完整代码

include emu8086.inc

org 100h

       mov ax, 2 
       mov bx, 10
       div bx

       mov ax, 2
       mov bx, 2
       div bx   
       ret
Run Code Online (Sandbox Code Playgroud)

assembly divide-by-zero x86-16

2
推荐指数
1
解决办法
8134
查看次数

当您编写标签时,Assembly是否会创建内存位置?

例如,我有以下代码(MikeOS).

jmp short bootloader_start  ; Jump past disk description section
nop                         ; Pad out before disk description
...
...

OEMLabel            db "MIKEBOOT"   ; Disk label
BytesPerSector      dw 512          ; Bytes per sector
SectorsPerCluster   db 1            ; Sectors per cluster
ReservedForBoot     dw 1            ; Reserved sectors for boot record
NumberOfFats        db 2            ; Number of copies of the FAT

bootloader_start:
    mov ax, 07C0h           ; Set up 4K of stack space above buffer
    add ax, 544             ; 8k buffer = …
Run Code Online (Sandbox Code Playgroud)

x86 assembly bootloader x86-16

2
推荐指数
1
解决办法
1939
查看次数

在MSDOS中,要求此人输入现有文件名,然后将其删除

我在下面编写了这个程序,但它没有用.我正在输入文件名dur.txt.它返回AX = 4C03.为什么它不起作用,我该如何纠正呢?

.model tiny
.data
  max1  db  32
  act1  db  ?
  inp1  db  30 dup(0)
  hande dw  ?

.code
.startup
    ;enter the name of the file
    lea dx,max1
    mov ah,0ah
    int 21h

    ;delete the file
    mov ah,41h
    lea dx, inp1
    int 21h
.exit
end
Run Code Online (Sandbox Code Playgroud)

assembly dos masm dosbox x86-16

2
推荐指数
1
解决办法
76
查看次数

bx在哪些方面比ax更好

我目前正在学习装配8086.有些命令适用于ax,有些则不适用.例如:mov [ax],5不起作用.为什么这个以及bx寄存器优于ax寄存器的优点是什么?提前致谢.

assembly x86-16

2
推荐指数
1
解决办法
118
查看次数

在实模式下使用BIOS格式化磁盘时出错

我正在大学学习集会.我正在尝试编写个人格式例程,但我遇到了一些问题.例程在引导时启动,但在第一次中断(INT 13h/AH = 7)后进入错误流程.打印AH状态值表明错误是:

检测到0Eh控制数据地址标记(硬盘)

这是我的引导程序代码:

[BITS 16]
[ORG 0x7C00]

init:
call main
ret


main:
xor ax, ax
mov ds, ax

mov si, string0
call print
call delay
mov si, string1
call print
call delay
mov si, string2
call print
call delay
mov si, string3
call print
call delay
mov si, string4
call print
call delay
mov si, string5
call print
call delay
mov si, string6
call print
call delay
mov si, string7
call print …
Run Code Online (Sandbox Code Playgroud)

x86 assembly bios bootloader x86-16

2
推荐指数
1
解决办法
265
查看次数

从引导加载程序运行时,STOSB指令不存储字节

在制作了一个小型引导程序来教我自己的汇编语言后,我注意到该stosb指令似乎不起作用.我将问题压缩到一个最小的例子:

BITS 16

start:
mov ax, 07C0h       
add ax, 288     
mov ss, ax
mov sp, 4096

mov ax, 07C0h       
mov ds, ax ;setting up stack

mov al, 'j'
mov di, buffer
stosb

mov si, buffer
jmp loops

loops:
mov ah, 0Eh
lodsb
cmp al, 0
je done
int 10h
jmp loops

done:
hlt

buffer times 64 db 0

times 510-($-$$) db 0   ; Pad remainder of boot sector with 0s
dw 0xAA55
Run Code Online (Sandbox Code Playgroud)

当运行此引导加载程序时,它应将字母存储j到缓冲区中,然后将该缓冲区打印到显示器.输出应该是:

Ĵ

运行时似乎没有打印任何东西.有什么问题,我该如何解决?

x86 assembly real-mode bootloader x86-16

2
推荐指数
1
解决办法
314
查看次数

在8088/86,CL的移位/旋转是否会改变CL中的值?

在iAP88/86文档中,移位和旋转的时序信息取决于CL中的移位计数(p2-64).这似乎意味着它在CL中循环计数,进行许多单位移位.

所以我的问题是,在旋转/移位完成后CL仍然具有相同的值,或者操作是否将其计数,类似于LOOP指令的行为?

x86 assembly x86-16

2
推荐指数
1
解决办法
125
查看次数

矢量组件中的Sum元素

有人可以向我解释为什么以下程序不会在屏幕上显示任何内容?所以我试图做的是计算一个向量的总和,如下所示:

.model small
.stack 100h
.data
  vector db  1,2,3,4,5,6,7,8,9
  suma db 0
  count db 9
  msg db 10,13,"Sum is:$"

.code
  mov ax,@data
  mov ds,ax

  mov si,0
  xor si,si
  xor cx,cx
  mov cl,count
repeta:
  mov al,vector[si]
  add suma,al
  inc si
loop repeta

  mov bx,ax
  mov ah,09
  lea dx,msg
  int 21h
  mov ah,2
  mov dl,bl
  int 21h
  mov ah,2
  mov dl,bl
  int 21h

  mov ah,4ch
  int 21h    
end
Run Code Online (Sandbox Code Playgroud)

assembly x86-16

2
推荐指数
1
解决办法
532
查看次数

在REP MOVSW之前,PUSH CS/POP DS的目的是什么?

为什么在下面的代码中我们推送代码段(PUSH CS)然后将其弹出到数据段(POP DS)?

我将这些行明确地表示为line1和line2.请告诉我MOVSW如何在这里工作.

IF  HIGHMEMORY
PUSH DS
MOV BX, DS
ADD BX, 10H
MOV ES, BX
PUSH CS.           ;line1
POP DS.            ;line2
XOR SI, SI
MOV DI, SI
MOV CX, OFFSET SYSSIZE  +  1
SHR CX, 1
REP MOVSW.    ;line3
POP DS
PUSH ES
MOV AX, OFFSET SECONDRELOCATION
PUSH AX
AAA PROC FAR
RET
AAA ENDP 
SECONDRELOCATION:
more code here.............. 
Run Code Online (Sandbox Code Playgroud)

assembly real-mode x86-16

2
推荐指数
1
解决办法
228
查看次数

标签 统计

assembly ×10

x86-16 ×10

x86 ×4

bootloader ×3

real-mode ×2

bios ×1

divide-by-zero ×1

dos ×1

dosbox ×1

masm ×1