设X、Y、Z为字节单元。如果X>=0, Z=4X-Y/16,否则,Z=X的绝对值。编程序实现。
时间:2010-11-13
来源:互联网
作者: Nicolealan 发布时间: 2010-11-13
作者: shzhfu 发布时间: 2010-11-14
作者: Nicolealan 发布时间: 2010-11-14
一个简单的CMP+JAE(或JB)分支结构,内部则是MUL、DIV和SUB的组合。自己先试着完成好吧!
但是它Z要求是字节,若x>=0的话,做的那个算术应该出来的 是字吧。? 这是让我蛋疼的地方
作者: Nicolealan 发布时间: 2010-11-14
assume cs:code,ds:data data segment x db y db z db data ends code segment start: mov ax,data mov ds,ax mov al,x mov bl,y cmp al,0 jl a shl al,1 shl al,1 mov cl,4 shr bl,cl sub al,bl jmp b a: neg al b: mov z,al mov ah,4ch int 21h code ends end start
作者: masmaster 发布时间: 2010-11-14
看了王爽的那本书。
作者: ccf19881030 发布时间: 2010-11-14
Assembly code
assume cs:code,ds:data
data segment
x db
y db
z db
data ends
code segment
start:
mov ax,data
mov ds,ax
……
你这样编 我也会 我考虑的是让用户去输入一个数。
下面是我的代码,但是有问题:
;设X、Y、Z为字节单元。如果X>=0, Z=4X-Y/16,否则,Z=X的绝对值。编程序实现。
DATAS SEGMENT
x db ?
y db ?
z db ?
str1 db 'X=$'
str2 db 'Y=$'
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov dx,offset str1
mov ah,09h
int 21h
mov ah,1
int 21h
sub al,30h
mov x,al
mov DL,10
mov ah,2h
int 21h
mov dl,13
int 21h
MOV dx,OFFSET str2
mov ah,09h
int 21h
mov ah,1
int 21h
sub al,30h
mov y,al
cmp x,'0'
jnb display
mov ax,0
sub al,x
mov dl,al
mov ah,02h
int 21h
jmp exit
display:
mov al,x
mov ah,4
imul ah
mov cx,ax
mov bx,16
mov al,y
cbw
cwd
idiv bx
sbb ax,bx
mov dx,ax
mov ah,02h
exit:MOV AH,4CH
INT 21H
CODES ENDS
END START
作者: Nicolealan 发布时间: 2010-11-14
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28