X пернесін қайталау үшін dup () функциясын қолданыңыз?

Жолдың ені динамикалық енін басып шығару үшін осы кодты пайдаланамын:

mov cx, width
sep_1:  
    PRINT '-'
loop sep_1

Менің түсінуімше, мұндай нәрсені жасауға болады, бірақ мен оны жұмыс істей алмадым:

move ax, width
CALL PTHIS
DB 13, 10, ax dup('-'), 0

Оны қысқартуға бола ма?

0
онда қысқартуға қандай да бір тәсіл жоқ па? Мен оны қысқартуға тура келеді, сондықтан әрбір мәселе маңызды.
қосылды автор lisovaccaro, көзі
онда қысқартуға қандай да бір тәсіл жоқ па? Мен оны қысқартуға тура келеді, сондықтан әрбір мәселе маңызды.
қосылды автор lisovaccaro, көзі
онда қысқартуға қандай да бір тәсіл жоқ па? Мен оны қысқартуға тура келеді, сондықтан әрбір мәселе маңызды.
қосылды автор lisovaccaro, көзі
Сондай-ақ, сызықтың санау маңызы жоқ екенін ескеріңіз, бұл нәтиже беретін код өлшемі. Газландтық сызықтарды сақтау цикл үшін машиналық кодтан қысқа болмайды.
қосылды автор Jester, көзі
Сондай-ақ, сызықтың санау маңызы жоқ екенін ескеріңіз, бұл нәтиже беретін код өлшемі. Газландтық сызықтарды сақтау цикл үшін машиналық кодтан қысқа болмайды.
қосылды автор Jester, көзі
Сондай-ақ, сызықтың санау маңызы жоқ екенін ескеріңіз, бұл нәтиже беретін код өлшемі. Газландтық сызықтарды сақтау цикл үшін машиналық кодтан қысқа болмайды.
қосылды автор Jester, көзі
Мүмкін, бар, бірақ бұлай емес. dup() - бұл процессорға емес, ассемблерге арналған нұсқаулық.
қосылды автор duskwuff, көзі
Мүмкін, бар, бірақ бұлай емес. dup() - бұл процессорға емес, ассемблерге арналған нұсқаулық.
қосылды автор duskwuff, көзі
Мүмкін, бар, бірақ бұлай емес. dup() - бұл процессорға емес, ассемблерге арналған нұсқаулық.
қосылды автор duskwuff, көзі
dup үшін операнд ретінде тіркелу мәніне арналған жұмыс уақыты үзіндісін пайдалана алмайсыз. dup үшін санаушы ассемблер іске қосылған кезде бағалануы керек нәрсе болуы керек.
қосылды автор Michael Burr, көзі
dup үшін операнд ретінде тіркелу мәніне арналған жұмыс уақыты үзіндісін пайдалана алмайсыз. dup үшін санаушы ассемблер іске қосылған кезде бағалануы керек нәрсе болуы керек.
қосылды автор Michael Burr, көзі
dup үшін операнд ретінде тіркелу мәніне арналған жұмыс уақыты үзіндісін пайдалана алмайсыз. dup үшін санаушы ассемблер іске қосылған кезде бағалануы керек нәрсе болуы керек.
қосылды автор Michael Burr, көзі

6 жауаптар

Сіздің алғашқы кодыңыз - мұны дұрыс жол. Макростар құрастыру кезінде кеңейтілді, сіз «dup» макросын орындау уақытында пайдалана алмайсыз, сондықтан 2 әдісі дұрыс емес.

1
қосылды

Сіздің алғашқы кодыңыз - мұны дұрыс жол. Макростар құрастыру кезінде кеңейтілді, сіз «dup» макросын орындау уақытында пайдалана алмайсыз, сондықтан 2 әдісі дұрыс емес.

1
қосылды

Сіздің алғашқы кодыңыз - мұны дұрыс жол. Макростар құрастыру кезінде кеңейтілді, сіз «dup» макросын орындау уақытында пайдалана алмайсыз, сондықтан 2 әдісі дұрыс емес.

1
қосылды

«-----» -ді ES: DI-ға шығарады

 mov ax,"-"
 mov cx,5
 rep stosb
0
қосылды

«-----» -ді ES: DI-ға шығарады

 mov ax,"-"
 mov cx,5
 rep stosb
0
қосылды

«-----» -ді ES: DI-ға шығарады

 mov ax,"-"
 mov cx,5
 rep stosb
0
қосылды