[ Assembly - C\C++ ] Một số chương trình ví dụ nhúng code Assembly trong C\C++ [Nhúng Assembly trong C\C++]

Một số chương trình ví dụ nhúng code Assembly trong C\C++


Một số chương trình ví dụ nhúng code Assembly trong C\C++
Một số chương trình ví dụ nhúng code Assembly trong C\C++

Ví dụ 1: In ra màn hình 2 dòng chữ
" Hello Turbo C\C++! " - sử dụng Assembly
" Hello Assembly! " -sử dụng C\C++

[Code Turbo C++]
/*
http://lap-trinh-may-tinh.blogspot.com/
*/
#include <stdio.h>
#include <conio.h>
#include <iostream.h>

void main(){
clrscr();
char xau1 []="Hello Turbo C\C++!$";
char xau2 []="Hello Assembly!";
asm{

lea dx,xau1;
mov ah,09;
int 21h;
;// Xuong dong
mov ah,02;
mov dl,13;
int 21h;
;// ve dau dong
mov dl,10;
int 21h;
}
cout<<xau2;
getch();
}

/*
[Tải code chương trình tại đây - Lưu ý: Sau 5s, Click Bỏ qua quảng cáo (Skin Ad)]
*/

Ví dụ 2: Viết chương trình tính tổng các giá trị trong dãy số nguyên cho trước

[Code Turbo C++]
/*
http://lap-trinh-may-tinh.blogspot.com/
*/
 #include <stdio.h>
 #include <conio.h>
 #include <iostream.h>

void main()
{
clrscr();
int Sum;
int A[]={3,2,1,5,6,7};

asm {
lea bx,A ;/* bx chua chi so cac phan tu trong A */
xor ax,ax; /* ax chua tong */
mov cx,6; /* so phan tu cua day */
}
Cong: /* Nhan Cong */
asm{
add ax,[bx]
add bx,2; /* Moi phan tu chua 2 byte */
loop Cong
mov Sum,ax
}

cout<<"Tong la: "<<Sum;
getch();

}