zoukankan      html  css  js  c++  java
  • 汇编试验十一:编写子程序

    预备知识:

    标志寄存器各位有具体的含义;

    ZF:0标志位,计算结果是否为0

    PF:奇偶标志位,二进制1的个数是否为偶数

    SF:符号标志位,是否为负数

    CF:进位标志位(无符号)

    OF: 溢出标志(有符号)

    adc指令:带进位加法指令

    sbb指令:带借位减法指令

    cmp指令:比较

    比较结果的条件转移指令

    pushf,popf:将标志寄存器中的值压栈(到栈中),弹出(将栈中的数据送入标志寄存器),为直接访问标志寄存器提供了一种方法;

    字符串大小写转换:

    Source Code:

    assume cs:codesg
    
    datasg segment
        db "Beginner's All-purpose Symbolic Instruction Code.",0
    datasg ends
    
    codesg segment
    begin:
        mov ax,datasg
        mov ds,ax
        mov si,0
    
        call letterc
    
        mov ax,4c00H
        int 21H
    
    letterc:
        push cx
        pushf
        mov cx,0
    
        s:
            mov cl,ds:[si]
            jcxz ok
    
            cmp cl,7aH
            ja nextgo
            and cl,0dfh
            mov ds:[si],cl
    
        nextgo:
            inc si
            jmp short s
        ok:
            popf
            pop cx
            ret
    
    codesg ends
    end begin
    View Code

  • 相关阅读:
    C#结构
    R语言快速入门
    C#_枚举类型
    C#_数组
    C#传递参数
    C#_字符串的操作
    python-函数之命名空间作用域
    python-迭代器和生成器
    python-文件操作
    python
  • 原文地址:https://www.cnblogs.com/TreeDream/p/6992837.html
Copyright © 2011-2022 走看看