zoukankan      html  css  js  c++  java
  • [汇编语言]-第七章 用[bx+idata]的方式进行数组的处理

    1- 转化为大写

    方法一:

     1 assume cs:code,ds:data
     2 data segment
     3     db 'BaSiC'
     4     db 'MinIX'
     5 data ends
     6 code segment
     7 start:    mov ax,data
     8         mov ds,ax
     9         mov bx,0
    10         
    11         mov cx,5
    12     s:    mov al,[bx]
    13         and al,11011111B
    14         mov [bx],al
    15         inc    bx
    16         loop s
    17         
    18         mov cx,5
    19         mov bx,5
    20     s0:    mov al,[bx]
    21         or    al,00100000B
    22         mov    [bx],al
    23         inc bx
    24         loop s0
    25         
    26         mov ax,4c00H
    27         int 21h
    28 code ends
    29 end start

    方法二:

     1 assume cs:code,ds:data
     2 data segment
     3     db 'BaSiC'
     4     db 'MinIX'
     5 data ends
     6 code segment
     7 start:    mov ax,data
     8         mov ds,ax
     9         mov bx,0
    10         
    11         mov cx,5
    12     s:    mov al,[bx]
    13         and al,11011111B
    14         mov [bx],al
    15         
    16         mov al,[5 + bx]
    17         or    al,00100000B
    18         mov    [5 + bx],al
    19         inc bx
    20         loop s
    21         
    22         mov ax,4c00H
    23         int 21h
    24 code ends
    25 end start

    方法三:

     1 assume cs:code,ds:data
     2 data segment
     3     db 'BaSiC'
     4     db 'MinIX'
     5 data ends
     6 code segment
     7 start:    mov ax,data
     8         mov ds,ax
     9         mov bx,0
    10         
    11         mov cx,5
    12     s:    mov al,0[bx]
    13         and al,11011111B
    14         mov [bx],al
    15         
    16         mov al,5[bx]
    17         or    al,00100000B
    18         mov    5[bx],al
    19         inc bx
    20         loop s
    21         
    22         mov ax,4c00H
    23         int 21h
    24 code ends
    25 end start

    C语言编写:

     1 #include <stdio.h>
     2 
     3 int main()
     4 {
     5     char a[5] = "BaSiC";
     6     char b[5] = "MinIX";
     7     
     8     int i = 0;
     9     do
    10     {
    11         a[i] = a[i] & 0xDF; //小->大
    12         b[i] = b[i] | 0x20; //大->小
    13         printf("%c",a[i]);
    14         i++;
    15     }
    16     while (i < 5);
    17     
    18     printf("
    ");
    19     
    20     for(i = 0; i < 5; i++)
    21     {
    22         
    23         printf("%c",b[i]);
    24     }
    25     printf("
    ");
    26     
    27     system("PAUSE");
    28     return 1;
    29 }

    C语言定位方式: a[i], b[i]

    汇编语言定位方式: 0[bx], 5[bx]

    [bx+idata]的方式为高级语言实现数组提供了便利机制

  • 相关阅读:
    【转载】10个Web3D可视化精彩案例
    基于react的audio组件
    如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
    CSS3 用border写 空心三角箭头 (两种写法)
    浅谈微信小程序对于创业者,意味着什么?
    左手Cookie“小甜饼”,右手Web Storage
    css3中user-select的用法详解
    个人感觉一些比较有用的特效例子
    纯css模拟电子钟
    蓝桥杯 ALGO-2:最大最小公倍数
  • 原文地址:https://www.cnblogs.com/galoishelley/p/3566716.html
Copyright © 2011-2022 走看看