-
22-12-2009, 05:05 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Không có thanh ghi eal bạn à, chỉ có thanh ghi eax, 16 bit thấp của nó là ax, 8 bit cao của AX là AH, 8 bit thấp của AX là AL, mục đích: để tương thích ngược với các chương trình cũ.
Mã:eax ------------------ ax ---------- -AH-|-AL-
View more random threads:
- Kiểm tra 1 chuỗi có bị BadPointer hay không ?
- Lập Trình đa nhiệm và giao tiếp giữa các thread thông qua message queue
- cách lấy về dòng đang có dấu mũi tên trong datagridview
- [Computer graphics] Có bạn nào thích lập trình đồ họa không!
- Chuyển Kiểu Unicode sang kiểu số
- Lập trình kéo thả và tô màu với MFC. Giúp mình với?
- bài C này chả hiểu gì cả giúp em
- Thay đổi màu sắc của background như thế nào?
- Làm sao để nhớ lại user, pass cho lần khởi động sau???
- cách liên kết các dialog với nhau trong win32 cua c 6.0
-
22-12-2009, 05:08 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
dl hay là edx? , lodsb là load 1 byte 1 lần thôi, mảng a mỗi phần tử 4 byte lận
-
22-12-2009, 07:47 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Thắc mắc thanh ghi eax,edx so với thanh ghi ax
Mình có bài tập tìm phần tử max trong 1 mảng giải bằng dos 16bit như thế này
Mã:.Model small.Stack 100H.Data ; source stringlist DB 1,4,0,9,7,2,4,6,2,5 .codemain proc ; initilize the ds and es registers mov ax, @Data mov ds,ax cld mov cx, 9 lea si, list ; si points to list mov bl, [si] ; max <-- 1st element inc siStart: lodsb cmp al, bl jle BYPASS mov bl, al; al>bl --> bl to store new max BYPASS: loop Start ; print the max add bl, '0' ; digit to char mov dl,bl mov ah, 2 int 21H ; end program mov ah, 4CH int 21Hmain endp end main
Mã:#include <stdio.h>int main(){ int A[10]= { 1,2,4,5,6,3,2,3,9,6}; int maxA = 0; __asm { lea esi,A mov ecx, 10; mov edl,[esi];lay thanh ghi edl lam thanh ghi trung gian chua cac gia tri max trung gian inc esistart: lodsb cmp eal,edl jl TiepTucVongLap mov edl, ealTiepTucVongLap: loop start mov maxA,edx } printf("Phan tu max: %d ",maxA); return 0;}
-
27-12-2009, 04:20 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
tư duy theo cách của quangnh89
Mã:#include <stdio.h>int main(){ int A[10]= { 1,2,4,5,6,3,2,3,9,6}; int maxA = 0; __asm { lea esi,A mov ecx, 10; mov dl,[esi];lay thanh ghi edl lam thanh ghi trung gian chua cac gia tri max trung gian inc esistart: lodsb cmp al,dl jl TiepTucVongLap mov dl, alTiepTucVongLap: loop start mov maxA,edx } printf("Phan tu max: %d ",maxA); return 0;}
Gửi bởi whitepenguin
-
27-12-2009, 04:50 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mã:mov edx,dword ptr [esi];lay thanh ghi edl lam thanh ghi trung gian chua cac gia tri max trung gian add esi, 4start: mov eax, dword ptr [esi] add esi, 4 cmp eax, edx jl TiepTucVongLap mov edx, eaxTiepTucVongLap: loop start mov maxA,edx
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...