qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-高级专业版🔥

使用汇编语言编写判断数字奇偶性的程序方法

时间2023-04-14 08:59:30 提问来自 江西省南昌市 的网友 分类创作 浏览423
.data ; 数据段 num db 0 ; 存储一个数的变量 .code ; 指令段 main proc mov ax,@data ; 将数据段的地址赋值给ax寄存器 mov ds,ax ; 将ax寄存器的值赋给ds寄存器 mov al,num ; 将num变量的值赋给al寄存器 cmp al,0 ; 比较al中的数是否为0,如果不是则执行下面语句,否则进入else部分 jne else ; 跳转到else处,如果al中的数不为0 mov ah,4ch ; 返回dos环境(返回dos命令) int 21h ; 运行int 21h中断服务例程 else: ; al中的数不为0时执行此处代码 and al,1 ; 用and运算将al中原有位保留,其余位全都取0(也就是说将al中原有奇/偶性保留) cmp al,1 ; 比较al中保留位是否为1。如果是则执行if语句内容;如果不是刚执行else语句内容。 je if ;当and之后得出来的保留位为1时就会直接跳转if处。即奇數情況。 jmp else2 ;当and之后得出来的保留位不是1时就会直接跳转else2处。即偶數情況。 if: ;奇數情況代码处理部分 mov ah ,09h ;显示字符功能函式(ah=09h) lea dx ,oddmsg ;dx=oddmsg地址 int 21h ;运行int 21h中断服务例程 jmp end ;定义一条jmp 跳板由if 处直接剪切end 处 else2: ﹒《《《《《《《《《已上面cmp 结束之後就会剪切此处了 > > > > > > > > > 偶數情況代码处理部份         mov ah ,09h  ;显⑩字⑩功能函式(ah=09h)                              lea dx ,evenmsg   ;dx=evenmsg圖片                              int 21 h       ;运⑩int21 h中断末例勒                             end :                                                                 ret                                            main endp   oddmsg db "This is an odd number.$"   evenmsg db "This is an even number.$"   END main

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 你最近在读的书有哪些?最大的感受是什么? 下一篇 我是美术师范生,帮我写一份专业能力及培训心得体会