汇编:实现C语言的 ||与&&运算
2024-09-19 03:27:51
;C程序转汇编(或运算链接)
DATAS SEGMENT
a Dw
b dw
cc dw
d dw
m dw
n dw
string db dup(?)
DATAS ends
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS
START:
mov AX,DATAS
mov DS,AX ;把需要比较的两个数字放入两个寄存器中 mov ax,a
mov bx,b
cmp ax,bx
jb Rm ;当a<B时跳转到rm
mov m, ;当a>b时为假所以m赋值为0
;上述内容给等价于m=a<>>b
mov ax,cc
mov bx,d
cmp ax,cc
ja Rn
mov n,
;上述内容给等价于n=c>d
jmp exit Rm:
mov m,
jmp exit
Rn:
mov n,
jmp exit
exit:
mov si,offset string
mov AX,m
and AL,0FH
add al,30H
mov [si],al
;把m转化为ASCII码并存入string中
xor cx,cx
mov cl,
;上述两句设置循环次数
lp:
inc si
mov byte ptr [si],20H ;20H代表空格
loop lp
;利用循环添加3个空格 代替\t
inc si
mov AX,n
and AL,0FH
add al,30H
mov [si],al
;把n转化为ASCII码并存入string中
mov byte ptr [si+],'$'
;为字符串string加上结束符
lea dx,string
mov ah,09h
int 21H
mov ah,4ch
int 21H
CODES ends
end START
<hr>
;C程序转汇编(与运算链接)
DATAS SEGMENT
a Dw
b dw
cc dw
d dw
m dw
n dw
string db dup(?)
DATAS ends
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS
START:
mov AX,DATAS
mov DS,AX ;把需要比较的两个数字放入两个寄存器中 mov ax,a
mov bx,b
cmp ax,bx
jbe Rm ;当a<=B时跳转到rm
mov m, ;当a>b时为真所以m赋值为1
;上述内容给等价于m=a>b
mov ax,cc
mov bx,d
cmp ax,cc
jbe Rn
mov n,
;上述内容给等价于n=c>d
jmp exit Rm:
mov m,
jmp exit
Rn:
mov n,
jmp exit
exit:
mov si,offset string
mov AX,m
and AL,0FH
add al,30H
mov [si],al
;把m转化为ASCII码并存入string中
xor cx,cx
mov cl,
;上述两句设置循环次数
lp:
inc si
mov byte ptr [si],20H ;20H代表空格
loop lp
;利用循环添加3个空格 代替\t
inc si
mov AX,n
and AL,0FH
add al,30H
mov [si],al
;把n转化为ASCII码并存入string中
mov byte ptr [si+],'$'
;为字符串string加上结束符
lea dx,string
mov ah,09h
int 21H
mov ah,4ch
int 21H
CODES ends
end START
最新文章
- DIPHA
- 操作系统开发系列—12.a.从Loader到内核 ●
- 汇编学习(二)&mdash;&mdash;8086CPU
- 利用 libiconv 实现汉字编码 utf-8 格式 和 gbk格式的相互转换
- inline-block元素的空白间距
- rand srand
- C++11模板的别名
- Sending messages to non-windowed applications -- AllocateHWnd, DeallocateHWnd
- SHELL:Find Memory Usage In Linux (统计每个程序内存使用情况)
- iOS使用阿里云OSS对象存储 (SDK 2.1.1)
- javascript正则
- 只有mdf 没有 日志 恢复数据库
- DataTimePicker
- jmeter中一次运行多条sql语句
- HTTP请求头中各字段解释
- python3 生成器和生成器表达式
- C++ STL 顺序容器--list + 关联容器
- 让用户输入一个日期字符串,将其转换成日期格式, 格式是(yyyy/MM/dd,yyyyMMdd,yyyy-MM-dd)中的一种, 任何一种转换成功都可以; 如果所有的都无法转换,输出日期格式非法。
- Spring Integration实现分布式锁
- [Spark][Python]Wordcount 例子