Thumb-Modus-Anweisungen sind 2 Bytes und ARM-Modus-Anweisungen sind 4 Bytes. Der Screenshot ist eine Demontage der Daumenmodus-Anweisungen. Warum sehe ich 4-Byte-Anweisungen mit 2byte Anweisungen gemischt ?? kann jemand das erklären?arm thumb mode 4byte anweisungen
danke im voraus.
Weil es ** Daumen-2 ** ist. –
Die eigentliche Frage ist, warum diese zwei mov-Anweisungen 4-Byte sind, wenn sie als 2-Byte-Anweisungen (thumb1) codiert werden könnten. –
* thumb-1 * hat keine 32-Bit Op-Codes. Nur * thumb-2 * hat 'mov.w' usw. Ein Prozessor kann den Modus nicht zwischen den Befehlen wechseln (bis zu einem BLX usw.), daher muss dieser Code * thumb-2 * sein. Sogar "bl" und "blx" sind 16bit in * thumb-1 *. –