assume cs:codesg;線性同余演算法 隨機生成 3個元素
codesg segment
output: ;將一個數按10進制輸出
mov bx,10
mov cx,0
disp1:
mov dx,0
div bx
push dx
inc cx
or ax,ax
jne disp1
disp2:
mov ah,2
pop dx
add dl,30h
int 21h
loop disp2
jmp goon
start :
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov al,1
mov bl,11
mov bh,101
mov cx,3;
mov di,0
s: mul bl
add ax,7
div bh
mov al,ah
mov dl,al
push ax
mov ax,dx
push bx
push cx
push dx
jmp output
goon:
mov dl,' '
mov ah,2
int 21h
pop dx
pop cx
pop bx
pop ax
mov ah,0
loop s
mov ax,4c00h
int 21h
codesg ends
end start
uj5u.com熱心網友回復:
output: 后面的 div bx 是 dx:ax/bx 即使有了 dx 但沒有預先把它置 0 ,dos 的加載程式好像是不管 dx 的,而除錯軟體往往會把它置 0,所以兩邊會有不一樣的結果。自己主動置 dx 為 0 就是了。uj5u.com熱心網友回復:
另外,你這程式結構流程上好像有些亂啊uj5u.com熱心網友回復:
謝謝大佬,太強了,我在改改uj5u.com熱心網友回復:
你告訴我這是x86?這明明是16位匯編uj5u.com熱心網友回復:
我表達不準確
uj5u.com熱心網友回復:
我表達不準確uj5u.com熱心網友回復:
x86是泛指,廣義上是指一切8086/8088兼容處理器,包括16/32/64位處理器,狹義上只包括16/32位,不包括64位,64位使用x64、x86-64、intel64、AMD64之類的術語轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/55716.html
標籤:匯編語言
