汇编语言 布尔运算 十六位转二位,再进行NOT操作

来源:百度知道 编辑:UC知道 时间:2024/06/22 23:28:28
编译一个程序来实现简单的布尔运算功能。
(1) 键盘任意输入一个4位十六进制数,
(2) 将其转换为二进制数的形式显示在屏幕上,
(3) 对该十六进制数进行NOT操作并以十六进制数的形式显示在屏幕上。
如:please input hex number:1234H
binary number is: 0001001000110100B
NOT_1234H : 1110110111001011B
the result is : EDCBH
回答的好再加50分

; 本程序在MASMPlus 1.2集成环境下通过编译,运行正确
.model tiny
Code Segment
Assume CS:Code,DS:code
; -------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
org 100h
Start: jmp Begin
Press_Key db 13,10,13,10,'The complated. Press any key to exit...$'
Prompt_Hex db 'please input a heximal number(for 4 bits):$'
Prompt_BIN db 13,10,'The binary number is: $'
Prompt_NotB db 13,10,'The NOT code: $'
Prompt_NotX db 13,10,'The result is :$'
; -------------------------------------
; 功能:输出一个字符
; 入口:dl=要显示的字符
Output_Chr proc Near
push ax
mov ah,02h
int 21h
pop ax <