2013年7月7日日曜日

アルファベット表示プログラム

dynabook AZ de assembler sample:


不完全です。最後の方の#10には触れないでください



#include <stdio.h>

main(){
   char s[100]="                                                        ";
   char s1[20]="%s\n";

   asm("   mov r3,#65");
   asm("   mov r4,#26");
   asm("   mov r5,#50");
   asm("T1:");
   asm("   sub r6,r5,r4");
   asm("   strb r3,[r7,r6]");
   asm("   add r3,r3,#1");
   asm("   subs r4,r4,#1");
   asm("   bne T1");

   asm("   mov r3,#97");
   asm("   mov r4,#26");
   asm("   mov r5,#79");
   asm("T2:");
   asm("   sub r6,r5,r4");
   asm("   strb r3,[r7,r6]");
   asm("   add r3,r3,#1");
   asm("   subs r4,r4,#1");
   asm("   bne T2");

   asm("   mov r3,#10");
   asm("   strb r3,[r7,#79]");

   asm("   adds r0,r7,#24");
   asm("   adds r1,r7,#4");
   asm("   bl printf");
}


実行結果

gcc -S 130707C.c -lm
gcc -o 130707C 130707C.c -lm
./130707C
ABCDEFGHIJKLMNOPQRSTUVWXYZ   abcdefghijklmnopqrstuvwxyz
何かキーを押してください


0 件のコメント:

コメントを投稿